に参加し、私は次のようしている:は、has_and_belongs_to_manyアソシエーションの関係を使用して、テーブル
model A
has_and_belongs_to_many :B, :join_table => "A_B"
has_and_belongs_to_many :C, :join_table => "A_B"
table A_B
A_id
B_id
C_id
現在の行動:
A.saveを行うとき、私は2を取得INSERT文をA_Bテーブルに挿入する - A_idが設定され、B_idが設定され、C_id = 0であり、A_idとC_idだけがすべて設定されている(INSERT文でB_idはない)したがって、私のJOINのテーブル内の2行がある
望ましい行動:
A.saveをやって、私はすべての3つのIDが正しく設定されているA_Bテーブル、に1つのINSERTをしたいです。
どうすればよいですか?
私が理解しているように(私は実際にはDBレガシーを変更するアクセス権がないため)、has_manyを使用することはできません。これはJOINテーブルにIDカラムが必要なためです。それが真実でない場合は、私はいかなる提案にも開放しています。