任意のモデルメソッドに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」メソッドが呼び出されます。