when you use a find_or_create_ automatic method with an initializer
block, the block isn't called on the first run, but is called on
subsequent runs:

u = User.find_or_create_by_name('bob') { |new_user| new_user.password
= '1234' }
u.name
>> "bob"
u.password
>> nil

u2 = User.find_or_create_by_name('billy') { |new_user|
new_user.password = '1234' }
u2.name
>> 'billy'
u2.password
>> '1234'

This appears to have been around for a while.

Bug filed (with patch) here:

http://rails.lighthouseapp.com/projects/8994/tickets/1224-find_or_create_by_-methods-do-not-execute-their-block-on-first-call#ticket-1224-1

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Core" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-core?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to