Trilhos 4:adicione isenção para after_update no modelo
-
20-12-2019 - |
Pergunta
Eu tenho um retorno de chamada after_update no meu modelo
after_update :do_something
No entanto, não quero que o método seja chamado após a criação de um objeto.É possível adicionar uma isenção ao after_update?
Solução
Rails tem muitos diferentes retornos de chamada.Quando você cria um objeto after_create
e after_save
são chamados.Ao atualizar um objeto existente, after_update
e after_save
são chamados.
after_create
é usado apenas na criação como after_update
serve apenas para atualizar objetos existentes. after_save
é executado em ambos os casos, após o retorno de chamada de criação/atualização adequado.
Se você não deseja que o método seja chamado somente após a criação de um objeto, você deve usar after_create
em vez de.
Você pode definir quantos retornos de chamada precisar
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