ActiveModelでcallbackをする方法

Formオブジェクトを使用していて、まともにActiveModelを使用しました。

ActiveRecordの場合は自動的にcallbackを仕込めるのですが、ActiveModelの場合はどうすればいいのかわからなかったです。

使い方

class WorkForm
  include ActiveModel::Model
  define_model_callbacks :save←callbackを定義する

  before_save :valid_resource←callbackのメソッドを作成する

  def save
    run_callbacks :save do←使用する場所を書く
    ...
    end
  end


  private

  def valid_resource
     ...←処理を書く
  end
end

公式に書いてあります。

ActiveModel::Callbacks

以上です。