Active Record Observer не запускается в консоли / семени - PullRequest
5 голосов
/ 25 января 2011

У меня есть наблюдатели, назначенные для награждения значками при смене модели. Это работает, когда я использую представление, но я, кажется, не срабатываю, когда я делаю что-то вроде: Photo.create (: user_id => user.id,: file => file) из консоли или из начального файла.

Есть идеи?

class ExplorerObserver < ActiveRecord::Observer
  observe :photo

  def after_save(photo)
    user = photo.user
    Explorer.award_achievements_for(user) unless photo.new_record?
  end

end

Ответы [ 2 ]

3 голосов
/ 25 января 2011

Моя ошибка, это был глупый вопрос, но для архива вот мой ответ:

Если у вас есть несколько наблюдателей, не ставьте несколько таких строк

config.active_record.observers = :popular_observer
config.active_record.observers = :explorer_observer

вместо того, чтобы связать ваших наблюдателей, мой предыдущий код заменял наблюдателей последним!

config.active_record.observers = :popular_observer, :explorer_observer
1 голос
/ 25 января 2011

Вы забыли поместить его в config/application.rb, внутри вашего Application класса?

config.active_record.observers = :photo_observer
...