アプリでの投票に gem activerecord-reputation-system を使用しており、その上に実績システムを実装しています。
私の成果の 1 つは、誰かが何かに 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
モデルをモデルフォルダーに入れました。libまたはvenderフォルダーにgemをローカルにインストールしようとしているところまで来たので、その方法でフックできます。
Ruby 1.9.3でRails 3を使用しています。オブザーバーが 4 で非推奨になったことは知っていますが、今のところそれらに固執しています。
これどうやってするの?
ありがとう!