控制器更新方法中的多对多关系

时间:2016-11-15 06:02:17

标签: ruby-on-rails ruby

我正在创建一个rails api。我有2个具有多对多关系的对象。我的api需要能够添加,修改和删除id。例如,当我在function getTransaction() { // Your code here } 控制器上调用update方法时。它应该接受新的objectb ID列表并保持不变。这样做的正确方法是什么?

objecta

我在考虑接受一系列ID然后通过class objectb < ActiveRecord::Base has_and_belongs_to_many :objecta end class objecta < ActiveRecord::Base has_and_belongs_to_many :objectb end

创建关系

objecta.objectb.create(ObjectB.find(:object_id))控制器中管理多对多关系的标准方法是什么?

1 个答案:

答案 0 :(得分:3)

你可以通过这种方式实现

如果要覆盖

objecta.objectbs = [ObjectB.find(:objectb_id)]

如果要在objecta中添加objectb

objecta.objectbs << ObjectB.find(:objectb_id)