Что-то, о чем я всегда думал о рельсах, - это возможность передавать дополнительные данные методам find_or_create в рельсах. Например, я не могу сделать следующее
User.find_or_create_by_name('ceilingfish', :email => '[email protected]', :legs => true, :face => false)
Я мог бы сделать
u = User.find_or_create_by_name('ceilingfish')
u.update_attributes(:email => '[email protected]', :legs => true, :face => false)
Но это уродливое, а также требует три запроса. Я полагаю, я мог бы сделать
User.find_or_create_by_name_and_email_and_face_and_legs('ceilingfish','[email protected]',true, false)
Но это означает, что я знаю, что значения email
, legs
и face
. Кто-нибудь знает, есть ли действительно элегантный способ сделать это?