Reputation: 145
I would like know a properly way to change a column value if others columns change, i know the classic way with one case return self.prices_updated_at = Time.zone.now if currency_changed?
But i dont know how write it more properly than that when i have many cases
return unless currency_changed? || price1_changed? || price2_changed? ||
price3_changed? || price4_changed? ||
price5_changed? || price6_changed?
self.prices_updated_at = Time.zone.now
Upvotes: 3
Views: 749
Reputation: 501
You can use changed_attributes
return unless (changed_attributes.keys & %w[currency price1 price2 price3 price4 price5 price6]).any?
self.prices_updated_at = Time.zone.now
Upvotes: 1