1
나는 카테고리 모델을 가지고 있으며, 카테고리 모델이나 그 카테고리 모델 (category_supply와 category_experience)에 변화가 있다면, after_save.So를 호출해야한다. after_save를 쓸 필요가 없다. 각 모델모델 및 모든 관련 모델에 대해 after_save를 사용하려면 어떻게해야합니까?
나는 카테고리 모델을 가지고 있으며, 카테고리 모델이나 그 카테고리 모델 (category_supply와 category_experience)에 변화가 있다면, after_save.So를 호출해야한다. after_save를 쓸 필요가 없다. 각 모델모델 및 모든 관련 모델에 대해 after_save를 사용하려면 어떻게해야합니까?
ActiveRecord::Observer
을 사용하여 연결 모델의 변경 사항을 확인한 다음 상위 모델에서 콜백을 트리거 할 수 있습니다. 다음은 그 예이다 : http://apidock.com/rails/ActiveRecord/Observer :
class CategoryAssociationsObserver < ActiveRecord::Observer
observe Supply, Experience
def after_save(record)
record.category.run_callbacks(:save) if record.category
# I don't know if you can trigger just the `after_save` callback here
end
end
은 그 사용에 대한 자세한 내용은 ActiveRecord::Observer
설명서를 참조하십시오.
관측 방법은 레일 3에서 더 이상 지원되지 않습니다. 따라서 동일한 관찰자에서 여러 모델 공급 및 경험을 사용할 수 없습니다. –
'observe' 메소드가 더 이상 지원되지 않는다고 생각합니까? 'ActiveRecord :: Observer'는 l에'observe' 메쏘드를 정의한'ActiveModel :: Observer'에서 상속받습니다. 187 여기 : https://github.com/rails/rails/blob/3-2-stable/activemodel/lib/active_model/observing.rb. Observers와'observe' 메소드는 Rails 4에서조차 사용되지 않습니다. –