Ruby on rails 3 Rails 3.2保存后更新属性
我想在保存数据后更新数据库中的特定属性 例如,我的表中有一列名为pending,它是一个布尔值。我想在保存数据时将此值设置为trueRuby on rails 3 Rails 3.2保存后更新属性,ruby-on-rails-3,after-save,Ruby On Rails 3,After Save,我想在保存数据后更新数据库中的特定属性 例如,我的表中有一列名为pending,它是一个布尔值。我想在保存数据时将此值设置为true after_save :do_something private def do_something self.update_column(:pending, true) end 这不管用。这里有解决方案的人吗?您可以直接修改属性,如: after_save { |user| user.username = user.username.downcase }
after_save :do_something
private
def do_something
self.update_column(:pending, true)
end
这不管用。这里有解决方案的人吗?您可以直接修改属性,如:
after_save { |user| user.username = user.username.downcase }
请在提交后而不是保存后重试。它将在保存事务之外运行。为什么不在保存之前尝试?此alos不起作用只需在其中写入self.pending=true。您需要将attr\u accessor:pending添加到模型中。当我在保存之前使用此选项时,效果很好。谢谢