2013-04-03 91 views
0

我想在保存數據後更新數據庫中的特定attribut。Rails 3.2保存後更新屬性

例如我在我的表中有一個名爲pending的列,它是一個布爾值。我想在保存數據時將此值設置爲true。

after_save :do_something 

private 
def do_something 
    self.update_column(:pending, true) 
end 

這是行不通的。這裏有誰有解決方案?

+0

你爲什麼不試試before_save? –

+0

這個alos不起作用 – pkberlin

+1

只需在其中寫self.pending = true即可。 –

回答

0

您可以通過修改屬性直接想:

after_save { |user| user.username = user.username.downcase } 
0

after_commit嘗試,而不是after_save的。它將在保存事務之外運行。