Ruby on rails 更新后重复的方法

Ruby on rails 更新后重复的方法,ruby-on-rails,Ruby On Rails,我在rails模型中使用after_commit:my_方法来调用一个方法。它在保存表单后运行。在我的方法中,我更新了一些附加属性,但问题是该方法在我更新后重新运行。我相信在提交导致这个问题之后,有没有办法告诉它不要在特定的更新之后运行?如果您使用的是rails 5.1+,您可以遵循: class页面

我在rails模型中使用after_commit:my_方法来调用一个方法。它在保存表单后运行。在我的方法中,我更新了一些附加属性,但问题是该方法在我更新后重新运行。我相信在提交导致这个问题之后,有没有办法告诉它不要在特定的更新之后运行?

如果您使用的是rails 5.1+,您可以遵循:

class页面
上述回调
do\u something
仅在状态id刚刚更改时才会触发

class Page < ActiveRecord::Base
  after_save :do_something, if: :saved_change_to_status_id?

  private

  def do_something
    # ...
  end
end