質問

私のモデルにAfter_Updateコールバックを持っています

after_update :do_something
.

しかし、オブジェクトの作成後にメソッドを呼び出すことはできません。after_updateへの免除を追加することは可能ですか?

役に立ちましたか?

解決

レールには多くの異なるコールバックafter_createを作成してafter_saveを作成すると呼び出されます。既存のオブジェクトを更新すると、after_updateafter_saveが呼び出されます。

after_createは、after_updateが既存のオブジェクトを更新するためのものであるため、作成時にのみ使用されます。after_saveは、適切な作成/更新コールバックの後に、両方の場合に実行されます。

オブジェクトが作成された後にのみメソッドを呼び出したくない場合は、代わりにafter_createを使用してください。

あなたが必要とする多くのコールバックを定義することができます

class User < ActiveRecord::Base
  after_create :one_method
  after_create :another_method
  after_update :one_more_method_only_for_updates

  def one_method
  end

  def another_method
  end

  def one_more_method_only_for_updates
  end
end
.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top