我目前有这样的事情:
class Article
# fields = [flag, something]
after_create :update_flag
def update_flag
self.flag = 1 if something_changed?
end
end
但是当我更改某些字段时,它不会更改“标志”字段。我已经保存了对象。仍然没有变化。
a = Article.create(flag: 0, something: "content")
a.something = "different"
a.save
a.flag
> 0
有任何想法吗?
最佳答案
改变
after_create
至
after_update
在您的代码示例中,您正在更新对象,这就是您需要不同 Hook 的原因。请参阅 docs 了解更多信息。
关于ruby-on-rails-3 - 如何正确 Hook 到 Rails 模型中的 after_create,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11483031/