yes I think changing the documentation in that direction already makes it 
really more clear

On Tuesday, June 23, 2015 at 4:56:23 PM UTC+2, Kerri Miller wrote:
>
> OP - Would it clarify the issue in your mind if 
>
> "Saves the model."
>
> were changed to
>
> "Attempts to save the model."
>
> -k-
>
>
> On Tue, Jun 23, 2015 at 7:36 AM, Jason Fleetwood-Boldt <
> [email protected] <javascript:>> wrote:
>
>> Generally nearly all of the Jr. devs I work with know this, this is very 
>> basic to the early learning process of working with Rails.
>>
>> Most code I see uses the* if @foo.save … else … end* style in almost all 
>> cases and does flow control based on the return value of save. 
>>
>> -Jason
>>
>>
>>
>> On Jun 22, 2015, at 5:39 PM, Ryan Bigg <[email protected] <javascript:>> 
>> wrote:
>>
>> Changing this method's name reeks of bikeshedding. 
>>
>> Any one with more than a day's worth of Rails experience knows the 
>> difference between these two methods and how to use them.
>>
>> In my experience, the return value for save is almost always checked. 
>>
>> If we deprecate save and then have only save!, you would be encouraging 
>> the use of exceptions as flow control and that's well-known as a coding 
>> smell. 
>>
>>  
>>
>> On 23 Jun 2015, at 00:27, Rafael Mendonça França <[email protected] 
>> <javascript:>> wrote:
>>
>> 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.
>> ​
>>
>>
>> On Mon, Jun 22, 2015 at 11:24 AM pseidemann <[email protected] 
>> <javascript:>> 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. 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 [email protected] <javascript:>.
>>> To post to this group, send email to [email protected] 
>>> <javascript:>.
>>> Visit this group at http://groups.google.com/group/rubyonrails-core.
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>> -- 
>> 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 [email protected] <javascript:>.
>> To post to this group, send email to [email protected] 
>> <javascript:>.
>> Visit this group at http://groups.google.com/group/rubyonrails-core.
>> For more options, visit https://groups.google.com/d/optout.
>>
>>
>> -- 
>> 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 [email protected] <javascript:>.
>> To post to this group, send email to [email protected] 
>> <javascript:>.
>> Visit this group at http://groups.google.com/group/rubyonrails-core.
>> For more options, visit https://groups.google.com/d/optout.
>>
>>
>>  -- 
>> 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 [email protected] <javascript:>.
>> To post to this group, send email to [email protected] 
>> <javascript:>.
>> Visit this group at http://groups.google.com/group/rubyonrails-core.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 
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 [email protected].
To post to this group, send email to [email protected].
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