I have two columns related to each other in a Rails model:
Article.body
Article.body_updated_on
I want to change the Article.body_updated_on
to Time.now
, every time Article.body
is updated. If any other fields updated nothing needs to be happen.
Just add before save callback to your Article model
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
You can either override the default setter for body, or better yet, use a callback to set it just before update. You could choose from several options: before_save, before_update ... depending on exactly when you want it.
before_save do |article|
article.body_updated_on = Time.now if article.body_changed?
end
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With