rails find_or_initialize关系

时间:2012-09-24 14:17:15

标签: ruby-on-rails activerecord

当我创建新用户时,为了避免重复,我使用了find_or_initialize方法:

user = find_or_initialize_by_email(the_email)

如果此用户是与相关公司一起创建的,我该如何避免公司中的重复项?

我可以这样做:

find_or_initialize_by_email_and_by_company_name(the_email, the_company_name)

谢谢!

2 个答案:

答案 0 :(得分:10)

Rails 3.2方式是

User.where(email: the_email, company_name: the_company_name).first_or_initialize

答案 1 :(得分:2)

使用

find_or_initialize_by_email_and_company_name(the_email, the_company_name)

您将通过电子邮件和公司名称创建用户uniq。 (仅使用一次)