I have the snippet below in one of my AR models:
after_update :cache_bust
The cache_bust
method in the model accepts a parameter (boolean) that sets the value of itself to false
by default.
How can I pass true
to this method in the model from my ActiveRecord callback defined above it?
Ex: after_update :cache_bust(true)
does not work because it's a symbol, how can I pass true
to the method's param?
There are four types of callbacks accepted by the callback macros: Method references (symbol), callback objects, inline methods (using a proc), and inline eval methods (using a string).
Try this?
after_update -> { cache_bust(true) }
Based on your clarification, you can achieve what you're looking for by using optional method parameters, like so:
def cache_bust(callback = true) ... method body end
In the scenario where the method is called from the after_update
callback, the parameter is not passed, but defaults to true. Otherwise, if the method is called from anywhere else "manually", you have the option of passing whatever value you wish to that method.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With