I'm trying to keep model logic within my model, but I can't get it to perform modifications on itself and have them persist in the database.
In my controller:
@article.perform_some_calulcations!
In my model:
def perform_some_calculations!
self.foo.gsub!(/regexp/, 'string')
self.save
end
If I drop debugger
statements into my method and after my call to it in the controller, @article.foo
has the correct value. However, when I continue, it doesn't persist in the database and webrick doesn't report any UPDATE
statements.
What's going wrong? I don't know if I've ever had to do this before, but surely it's possible right?