Tôi đang cố giữ mô hình logic trong mô hình của mình, nhưng tôi không thể làm cho nó thực hiện các sửa đổi trên chính nó và để chúng tồn tại trong cơ sở dữ liệu.Rails: Làm cách nào để gọi `self.save` trong mô hình của tôi và nó tồn tại trong cơ sở dữ liệu?
Trong điều khiển của tôi:
@article.perform_some_calulcations!
Trong mô hình của tôi:
def perform_some_calculations!
self.foo.gsub!(/regexp/, 'string')
self.save
end
Nếu tôi thả debugger
báo cáo vào phương pháp của tôi và sau khi cuộc gọi của tôi để nó trong bộ điều khiển, @article.foo
có giá trị đúng. Tuy nhiên, khi tôi tiếp tục, nó không tồn tại trong cơ sở dữ liệu và webrick không báo cáo bất kỳ câu lệnh UPDATE
nào.
Có gì không ổn? Tôi không biết liệu tôi có phải làm điều này trước đây hay không, nhưng chắc chắn nó có thể đúng không?
Cảm ơn thông tin bổ sung – nfm
Nên được đánh dấu là câu trả lời IMHO – Kangur
Đây có phải là một thực hành tốt không? tức là mô hình gọi là tự lưu sau khi tính toán điều gì đó? – Nicolas