【问题标题】:Rails devise unique emailRails 设计独特的电子邮件
【发布时间】:2011-11-02 13:01:53
【问题描述】:
设计中是否有一种内置方法,我可以检查给定的用户名或电子邮件对于所有现有的用户名和电子邮件是否是唯一的。 (假设我在制作模型时不想验证)
我只能说
if user.is_unique?
execute some code here
end
我正在使用 rails 3,我的 gemfile 只是说 gem 'devise'(所以它是最新的),如果该信息很重要的话
【问题讨论】:
标签:
ruby-on-rails
email
devise
【解决方案1】:
我认为没有这样的方法,但是您可以自己将其添加到User模型中。试试这个:
def is_email_unique?
!(User.all - [self]).map(&:email).include?(self.email)
end
【解决方案2】:
您可以在您的用户模型中执行此操作:
def is_unique?
!User.exists?(:email => email) && !User.exists?(:username => username)
end