1

我在我的应用程序中使用 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 中已被弃用,但我现在坚持使用它们。

我怎样才能做到这一点?

谢谢!

4

0 回答 0