1

私は2つのモデルを持っています: ModelA、 、両方ModelBに関連しています。has_and_belongs_to_many

通常、私は次のようにします:

modela.modelbs.create(パラメーター)

、しかし両方のモデルが既に存在します。では、多対多の結合テーブル (属性: modela_idmodelb_id) で関係を作成するにはどうすればよいでしょうか?

本質的に SQL を与える: INSERT INGORE INTO join_table (id1, id2);(IGNOREに一意のインデックスがあるため、ここでは重要です。(modela_id, modelb_id)

4

2 に答える 2

1
modela.modelbs << modelb

詳細については、has_and_belongs_to_many API ドキュメントを参照してください。

于 2013-06-26T18:09:20.853 に答える
0

私が設定したことを達成し、余分なロジックとデータベースクエリを回避するために、https://github.com/zdennis/activerecord-importは見事に:ignore => true機能し、INSERT INGORE

于 2013-07-08T16:54:37.287 に答える