Rails 4:モデル内のAfter_Updateの免除を追加します
-
20-12-2019 - |
質問
私のモデルにAfter_Updateコールバックを持っています
after_update :do_something
.
しかし、オブジェクトの作成後にメソッドを呼び出すことはできません。after_updateへの免除を追加することは可能ですか?
解決
レールには多くの異なるコールバック。after_create
を作成してafter_save
を作成すると呼び出されます。既存のオブジェクトを更新すると、after_update
とafter_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
. 所属していません StackOverflow