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 <t...@datatravels.com > 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 <radarliste...@gmail.com> 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 <rafaelmfra...@gmail.com> > 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 <p...@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. 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. >> > > -- > 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. > > > -- > 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. > > > -- > 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. > -- 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.