我有两个模型:ModelA
,ModelB
,两者都与has_and_belongs_to_many
相关。
modela.modelbs.create(PARAMS)
,但这两个模型已经存在。那么,我如何在多对多连接表中创建关系(属性:modela_id
,modelb_id
)?
基本上提供SQL:INSERT INGORE INTO join_table (id1, id2);
(IGNORE
在这里非常重要,因为我在(modela_id, modelb_id)
上有一个唯一索引
答案 0 :(得分:1)
modela.modelbs << modelb
有关详细信息,请参阅has_and_belongs_to_many api文档。
答案 1 :(得分:0)
为了实现我的目标并避免额外的逻辑和数据库查询,https://github.com/zdennis/activerecord-import非常出色,而:ignore => true
提供了INSERT INGORE