Ruby on Rails Friday, April 1, 2011

On Apr 1, 6:50 am, Michael Pavling <pavl...@gmail.com> wrote:
> On 1 April 2011 01:22, Bryan Crossland <bacrossl...@gmail.com> wrote:
>
> > Someone else might know more as to why "save" returns true in this case. If
> > not, then it is most likely a bug.
>
> Try it in your SQL console of choice:
>
>   UPDATE my_table SET field1 = 'new value' WHERE id = <non-existant-id-value>
>
> You'll get a message "no records were updated" - that's a successful
> execution as far as SQL is concerned.

Although you might expect rails to check the numbers of rows modified
(as it does when optimistic locking is enabled) - Select * from foo
where id ='non existant' will also execute just fine but rails chooses
to make Foo.find(id) raise an exception in those cases

Fred

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.

No comments:

Post a Comment