I think the documentation is very clear about this:
Saves the model.
If the model is new a record gets created in the database, otherwise the existing record gets updated.
By default, save always run validations. If any of them fail the action is cancelled and save returns false.
If it is not we should fix the documentation but for me it is not a good idea to rename save
to try_save
. The Rails conventions for bang methods are clear.
--
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-co...@googlegroups.com.
To post to this group, send email to rubyonra...@googlegroups.com.
Visit this group at http://groups.google.com/group/rubyonrails-core.
For more options, visit https://groups.google.com/d/optout.
On 22 Jun 2015 15:24, "pseidemann" <pa...@zattoo.com> wrote:
>
> 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.
>
> what do you think?
I think the simplest solution would be for you to suggest (or submit a PR for) a change to the documentation that you think does make the difference clear.
Changing the functionality of either call would be a Bad Thing.