2015-04-15 149 views
0

我有一個模型A與另一個模型公司有關聯。所以,我把它叫做A.find(5).companiesafter_update回調問題

我想在after_update回調中做一些事情。我在A.find(5).companies中添加一些公司,並且想知道哪些公司在回調中被添加了。但在after_update回調中,如何在更新之前獲得A.find(5).companies中的公司列表?

回答

0

您可以在Companyon_create回調中執行此操作。無論何時添加新公司,您都可以從中看到A的價值並完成您的任務。

0

您可以使用created_at和updated_at計時創建邏輯。

一旦你將火after_update回調模型中的申請表的的updated_at將被更新,你可以得到公司的名單,其中created_at時間晚,那麼更新的AT型A.

+0

新的企業加入從現有的表中添加,因此已創建。所以,created_at不會工作 – user99785

+0

所以有沒有其他表也可以添加新表或者你如何管理新公司? –

+0

新公司被添加到公司表中,但在這裏,我正在處理舊公司。 – user99785

0

的。在控制器..更新時,模型accepts_nested_attributes_for

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