任意のモデルメソッドにActiveRecordコールバックを設定できますか?コントローラのbefore_filterと同様に、これがどのように役立つかがわかります。
これを行う方法はありますか?
任意のモデルメソッドにActiveRecordコールバックを設定できますか?コントローラのbefore_filterと同様に、これがどのように役立つかがわかります。
これを行う方法はありますか?
Active Model Callbacksは、コールバックのようなActiveRecordを持つクラスのインターフェイスを提供します。ここで確認できますhttp://api.rubyonrails.org/classes/ActiveModel/Callbacks.html
そして、これはモデル内の任意のメソッドで機能します。これがコードスニペットです。
class MyModel
extend ActiveModel::Callbacks
define_model_callbacks :initialize, :only => :after
after_initialize :update_info
def initialize
run_callbacks :initialize do
# Your create action methods here
end
end
def update_info
puts 'info'
end
end
これにより、「initialize」メソッドの終了後に「update_info」メソッドが呼び出されます。