2013-04-03 90 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的。它将在保存事务之外运行。