我在 Rails 模型中有两列相互关联:
Article.body
Article.body_updated_on
我想更改Article.body_updated_on
为Time.now
,每次Article.body
都更新。如果任何其他字段更新,则无需发生任何事情。
我在 Rails 模型中有两列相互关联:
Article.body
Article.body_updated_on
我想更改Article.body_updated_on
为Time.now
,每次Article.body
都更新。如果任何其他字段更新,则无需发生任何事情。
只需在保存回调之前添加到您的文章模型
class Article < ActiveRecord:Base
before_save :update_body_modified
private # <--- at bottom of model
def update_body_modified
self.body_updated_on = Time.now if body_changed?
end
end
您可以覆盖 body 的默认设置器,或者更好的是,在更新之前使用回调来设置它。您可以从以下几个选项中进行选择:before_save、before_update ... 取决于您需要的确切时间。
before_save do |article|
article.body_updated_on = Time.now if article.body_changed?
end