Rail 4 :ajouter une exemption pour after_update dans le modèle
-
20-12-2019 - |
Question
J'ai un rappel after_update dans mon modèle
after_update :do_something
Cependant, je ne souhaite pas que la méthode soit appelée après la création d'un objet.Est-il possible d'ajouter une exemption à after_update ?
La solution
Rails a de nombreux rappels.Lorsque vous créez un objet after_create
et after_save
sont appelés.Lorsque vous mettez à jour un objet existant, after_update
et after_save
sont appelés.
after_create
est utilisé uniquement lors de la création comme after_update
sert uniquement à mettre à jour les objets existants. after_save
s'exécute dans les deux cas, après le rappel de création/mise à jour approprié.
Si vous ne souhaitez pas que la méthode soit appelée uniquement après la création d'un objet, vous devez utiliser after_create
plutôt.
Vous pouvez définir autant de rappels que nécessaire
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