Rails Ruby заслуга gem обозревателя не работает
Я использую камень достоинств в своем проекте рельсов, а наблюдатель заслуг не работает вообще. У меня есть файл reputation_change_observer.rb в моей папке app/ наблюдатели /
#reputation_change_observer.rb
class ReputationChangeObserver
observe :user
def update(changed_data)
description = changed_data[:description]
# If user is your meritable model, you can query for it doing:
user = User.where(sash_id: changed_data[:sash_id]).first
user.update_life_time_point
user.give_badges
# When did it happened:
datetime = changed_data[:granted_at]
end
end
Когда репутация меняется, я обновляю время жизни пользователя. И дает значки, если пользовательская точка достигает определенной точки. Но эти две функции не работают. У кого-нибудь есть идеи? в чем будет проблема?
1 ответ
В приложении / обозреватели /reputation_observer.rb
class ReputationObserver < ActiveRecord::Observer
def after_update(reputation)
# use reputation.previous_changes to get the last changes in reputation object and accordingly write your logic
end
end
В config/application.rb (Активировать reputation_observer)
config.active_record.observers = :reputation_observer