속성 변경 조건을 가진 after_update 콜백이 여러 개 있으면 첫 번째 트리거 만 발생합니다. 모델 객체가 업데이트 될 때 속성 변경 조건을 가진 여러 after_update 콜백이 첫 번째 호출 만 수행합니다.
class Article < ActiveRecord::Base
after_update :method_1, :if => proc{ |obj| obj.status_changed? && obj.status == 'PUBLISHED' }
after_update :method_2, :if => proc{ |obj| obj.status_changed? && obj.status == 'PUBLISHED' && obj.name == 'TEST' }
...
end
method_1
Article.last.update_attributes(status: 'PUBLISHED', name: 'TEST')
method_2
동안 트리거되지 않습니다.