Reputation: 2195
Right now I have the following code utilizing a callback. How can I conditionally restrict this to occur on the edit form? Currently it works on the edit form, but is also messing up calculations on other portions of my application.
customer.rb
after_initialize :convert_commission_percentage
def convert_commission_percentage
self.commission_percentage= commission_percentage.to_f/100.to_f
end
Upvotes: 0
Views: 180
Reputation: 38645
You could check for persisted?
:
after_initialize :convert_commission_percentage
def convert_commission_percentage
self.commission_percentage= commission_percentage.to_f/100.to_f if persisted?
end
Or as @willmanduffy recommends:
after_initialize :convert_commission_percentage, if: :persisted?
def convert_commission_percentage
self.commission_percentage= commission_percentage.to_f/100.to_f
end
Upvotes: 1