RoR:通过has_and_belongs_to_many关联两个现有模型

时间:2013-06-26 18:04:41

标签: ruby-on-rails

我有两个模型:ModelAModelB,两者都与has_and_belongs_to_many相关。

通常,我会这样做:

  

modela.modelbs.create(PARAMS)

,但这两个模型已经存在。那么,我如何在多对多连接表中创建关系(属性:modela_idmodelb_id)?

基本上提供SQL:INSERT INGORE INTO join_table (id1, id2);IGNORE在这里非常重要,因为我在(modela_id, modelb_id)上有一个唯一索引

2 个答案:

答案 0 :(得分:1)

modela.modelbs << modelb

有关详细信息,请参阅has_and_belongs_to_many api文档。

答案 1 :(得分:0)

为了实现我的目标并避免额外的逻辑和数据库查询,https://github.com/zdennis/activerecord-import非常出色,而:ignore => true提供了INSERT INGORE