我真的很喜欢这个first_or_create
方法:
# Find the first user named Scarlett or create a new one with a particular last name.
User.where(:first_name => 'Scarlett').first_or_create(:last_name => 'Johansson')
# => <User id: 2, first_name: 'Scarlett', last_name: 'Johansson'>
我想知道如果它不存在或不同,我如何也可以使用 last_name 'Johannson' 更新用户。寻找最简单的方法。与上述类似的单衬里将是理想的。
一种可能的方法是结合使用 first_or_initialize 和 update_attributes。我对这种方法唯一担心的是,即使提供的字段 100% 匹配,它也会运行更新。