Наблюдатели обычно входят в app/models/
.Вы можете автоматически создать класс наблюдателя для модели с помощью команды rails generate observer YourModel
.Это сгенерирует файл `app / models / your_model_observer.rb '.
Кстати, aftersave
не очень описательное имя метода.Если он делает много вещей, лучше разбить его на несколько методов, каждый из которых выполняет одну вещь, и дать каждому описательное имя, например:
class YourModelObserver < ActiveRecord::Observer
def after_save your_model_instance
calculate_points your_model_instance
assign_awards your_model_instance
end
private
def calculate_points inst
# ...
end
def assign_awards inst
# ...
end
end