人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

●質問者: dambiyori
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:AAA ActiveRecord base Class Model
○ 状態 :キャンセル
└ 回答数 : 0/0件

回答がありません
関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ