我在我的应用程序中使用 gem activerecord-reputation-system 进行投票,并在其之上实现了一个成就系统。
我的成就之一是有人为任何事情投票了 10 次。我正在尝试在模型或观察者中使用 after_create 回调来触发代码以查看是否应该添加成就。
问题是我似乎无法让任何 after_create(evaluation) 工作。在有人为某事投票后,我需要看看他们是否应该获得成就。我想将此代码放入一个 after create 方法中,这样它就不会分散在我的应用程序中。
我试过制作这样的评估模型
class Evaluation < ActiveRecord::Base
after_create :do_something
end
class EvaluationObserver < ActiveRecord::Observer
def after_create(evaluation)
:do_something
end
end
我已将模型放在模型文件夹中。我已经到了尝试将 gem 本地安装在 lib 或 vender 文件夹中的地步,这样我就可以使用这种方式了。
我正在使用带有 ruby 1.9.3 的 rails 3。我知道观察者在 4 中已被弃用,但我现在坚持使用它们。
我怎样才能做到这一点?
谢谢!