Ruby on rails 3 活动记录观察者未在控制台/种子中激发
我已经安排了观察员来颁发模型更改的徽章。 它在我使用视图时有效,但在执行以下操作时似乎不会触发: 从控制台或种子文件创建(:user_id=>user.id,:file=>file) 有什么想法吗Ruby on rails 3 活动记录观察者未在控制台/种子中激发,ruby-on-rails-3,observer-pattern,Ruby On Rails 3,Observer Pattern,我已经安排了观察员来颁发模型更改的徽章。 它在我使用视图时有效,但在执行以下操作时似乎不会触发: 从控制台或种子文件创建(:user_id=>user.id,:file=>file) 有什么想法吗 class ExplorerObserver < ActiveRecord::Observer observe :photo def after_save(photo) user = photo.user Explorer.award_achievements_for(
class ExplorerObserver < ActiveRecord::Observer
observe :photo
def after_save(photo)
user = photo.user
Explorer.award_achievements_for(user) unless photo.new_record?
end
end
classexplorerobserver
您是否忘记将其放入应用程序
类中的配置/application.rb
config.active_record.observers = :photo_observer
我的错误,这是一个愚蠢的问题,但对于档案,以下是我的答案: 如果你有多个观察者,不要像那样放多行
config.active_record.observers = :popular_observer
config.active_record.observers = :explorer_observer
相反,我以前的代码用最后一个覆盖了观察者
config.active_record.observers = :popular_observer, :explorer_observer
不,我有:config.active\u record.observators=:explorer\u observator,这是因为规则在视图中起作用。