hello,

currently in rails you have two methods to save a record: `save` and 
`save!`.
I think `save` is often used wrong because the return value is not always 
checked. 
even the documentation is not very clear about the subtle different about 
the two methods. for `save` the first sentence is:
> Saves the model.

it's not clearly mentioned there that it will _not_ save the model at all 
when validation fails. so developers will introduce bugs when not always 
checking for the return value e.g. in delayed job methods or in rake tasks 
(or maybe even in controllers).

my proposal would be to deprecate the usage of `save` and introduce a new 
method called `try_save` which has the same implementation as the old 
`save` method. this would make the implementation and the usage of the 
saving method more clear.

what do you think?

---

post transferred from https://github.com/rails/rails/issues/20662

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Core" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to rubyonrails-core+unsubscr...@googlegroups.com.
To post to this group, send email to rubyonrails-core@googlegroups.com.
Visit this group at http://groups.google.com/group/rubyonrails-core.
For more options, visit https://groups.google.com/d/optout.

Reply via email to