1

任意のモデルメソッドにActiveRecordコールバックを設定できますか?コントローラのbefore_filterと同様に、これがどのように役立つかがわかります。

これを行う方法はありますか?

4

1 に答える 1

1

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」メソッドが呼び出されます。

于 2015-06-12T09:54:28.270 に答える