Я пытаюсь сохранить модельную логику в своей модели, но я не могу заставить ее выполнять модификации сам по себе и сохранять их в базе данных.
В моем контроллере:
@article.perform_some_calulcations!
В моей модели:
def perform_some_calculations!
self.foo.gsub!(/regexp/, 'string')
self.save
end
Если я отбрасываю операторы debugger
в свой метод и после моего вызова к нему в контроллере, @article.foo
имеет правильное значение. Однако, когда я продолжаю, он не сохраняется в базе данных, и webrick не сообщает никаких операторов UPDATE
.
Что пойдет не так? Я не знаю, должен ли я когда-либо делать это раньше, но верно ли это возможно?