答案 0 :(得分:0)
拥有以下关系Platform --- has_many --- Market
,如果您想对市场集合执行操作,您是否考虑在Platform
模型上添加callback?
class Platform < ApplicationRecord
has_many :markets
after_save :update_markets
...
private
def update_markets
markets.each do |market|
...
end
end
end
请注意:
after_save在创建和更新时运行,但总是在更具体的回调after_create和after_update之后运行,无论宏调用的执行顺序如何。
我不确定您在此处尝试做什么market.update(:id => market.id)
,但如果您只更新所有市场中的一条记录,请考虑update_all
here's a good source
另一部分,如果我添加了另一个平台,我将如何处理这个人使用的不同API请求?
通过添加另一个平台,当请求到达您的控制器时,将创建一个新的Platform
对象,并使用不同的ID进行存储:
@market = @platform.markets.find(params[:id])
另外,请考虑@market = Market.find(params[:id])
而不是上述内容。
答案 1 :(得分:-1)
您可以将其添加到您的平台型号
accepts_nested_attributes_for :markets