Ruby on rails,更新其他列值时更改列值

gee*_*pak 5 ruby activerecord ruby-on-rails

我在Rails模型中有两个相互关联的列:

Article.body
Article.body_updated_on
Run Code Online (Sandbox Code Playgroud)

我想更改Article.body_updated_onTime.now,每次Article.body更新.如果任何其他字段更新,则无需进行任何操作.

Nic*_*sky 18

只需在保存回调到文章模型之前添加

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
Run Code Online (Sandbox Code Playgroud)