Ich habe folgende Code-Schnipsel:wissen, was Ereignis ausgelöst, um die after_commit eines Activerecord-Modell
class Product
after_commit :do_something, on: %i(update create)
def do_something
if # update
...
else # create
...
end
end
end
Wie kann man wissen, welches Ereignis ausgelöst, um die nach dem hier begehen?
Bitte erzählen Sie mir nicht 2 nach Commits wie haben:
after_commit :do_something_on_update, on: :update
after_commit :do_something_on_create, on: :create
Neugierig ... haben Sie versucht, eine 'puts' (oder etwas Ähnliches) innerhalb des 'do_something'-Callbacks auszugeben, das die Args der Methode ausgibt (dh' inspect') (http://api.rubyonrails.org/) Klassen/ActiveRecord/Transaktionen/ClassMethods.html # method-i-after_commit)? Am Ende dieser Github-Issues-Seite für Rails (https://github.com/rails/rails/issues/988) merkt Rafeal Franca an, dass es sich nur um Argumente handelt (könnte einen schnellen Test wert sein). –