RailsのActiveRecordの質問です。多対多の関連をid以外の任意のカラムで行うにはどうしたら良いのでしょうか。

aaa(id,code,name)とbbb(id,code,name)というテーブルがあり、多対多の関連を両テーブルのcode列で管理するための結合テーブルasso(id,aaa_code,bbb_code)を作成します。
このとき、modelでどのような指定をしたら良いか教えてください。
以下のように記述してrails3.0.5で試してみたのですが、assoテーブル関連を追加するとid値で書き込まれたりしてうまくいきません。よろしくお願いします。

#aaa.rb
class Aaa < ActiveRecord::Base
has_many :assos, :primary_key => :code, :foreign_key => :aaa_code
has_many :bbbs, :through => :assos
end

#bbb.rb
class Bbb < ActiveRecord::Base
has_many :assos, :primary_key => :code, :foreign_key => :bbb_code
has_many :aaas, :through => :assos
end

#asso.rb
class Asso < ActiveRecord::Base
belongs_to :aaa, :primary_key => :code, :foreign_key => :aaa_code
belongs_to :bbb, :primary_key => :code, :foreign_key => :bbb_code
end

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2011/06/16 21:05:03
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答0件)

回答はまだありません

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません