Я понимаю концепцию нормальных обратных вызовов и обратных вызовов ассоциаций, то есть когда их использовать. Я озадачен тем, каковы возможные причины предпочесть нормальные для обратных вызовов ассоциации? Мне недавно была представлена ситуация, когда мне нужно идти с первым, я хочу знать, почему. Существуют ли проблемы с производительностью при обратных вызовах с ассоциацией? Я использовал after_add в отношениях has_many, к которому теперь я буду использовать after_update. Благодарю.Ассоциация Callback Rails
1
A
ответ
0
Я выяснил причину. Когда вы определяете действие через обратные вызовы Ассоциации, они запускаются только при изменении объекта с помощью них. Для бывшего, если у меня есть 2 модели, пользователи и UserRating, с отношениями, как,
class User
has_many :user_ratings
end
и я определил
has_many :user_ratings, after_add :do_something
Это будет срабатывать только если идти по пути создания объекта,
user.user_ratings.create()
Но если я просто попробовать,
UserRating.create
обратный вызов не будет запущен. То же самое касается других обратных вызовов ассоциации.
Я нашел [эту ссылку] (http://vaidehijoshi.github.io/blog/2015/12/01/functions-to-call-upon-activerecord-association-callbacks/), которая может быть полезна – hypern
@hypern Может быть, немного. Но точно не отвечает на мои сомнения. В любом случае спасибо :) – Niyanta