after_update回调问题

时间:2015-04-15 11:19:04

标签: ruby-on-rails callback sql-update

我有一个模型A,它与另一个模型公司有关联。所以,我将其称为A.find(5).companies

我想在after_update回调中做一些事情。我在A.find(5)。公司中添加一些公司,并想知道在回调中添加了哪些公司。但是在after_update回调中,我怎样才能在更新之前获得A.find(5)。公司的公司列表?

3 个答案:

答案 0 :(得分:0)

您可以在模型on_create的{​​{1}}回调中执行此操作。每当添加新公司时,您都可以从中看到A的价值并完成任务。

答案 1 :(得分:0)

您可以使用created_at和updated_at计时创建逻辑。

一旦您为模型A触发after_update回调,表格的updated_at字段将会更新,您可以获得创建时间晚于模型A更新的公司列表。

答案 2 :(得分:0)

..在您的控制器中..使用accepts_nested_attributes_for

更新模型时
def update
  a.assign_attributes(params[:a])
  was_changed = a.companies.any?{|c| c.changed?} 
  a.save
end