Rails用户无法注册电子邮件已经存在

时间:2016-04-07 00:47:27

标签: ruby-on-rails controller

您好我正在尝试修复我的用户注册,因此如果用户已使用相同的电子邮件注册该网站,则他们无法注册。到目前为止,这是我试图实现的控制器中的代码。

用户控制器

class UsersController < ApplicationController
  def create
    unless User.exists?(:email => params[:email])

    @user = User.new(user_params)
      if @user.save
        @user.cart = Cart.create
        @user.save
        session[:user_id] = @user.id
        redirect_to @user
      else
        render 'new'
      end
    end
  end

我认为在用户控制器中我会有一个除非条件,所以如果用户已经存在,它将阻止该用户注册并再次呈现新页面。但是,用户仍然可以注册。关于如何正确地做到这一点的任何想法都会有所帮助。

1 个答案:

答案 0 :(得分:2)

不是在控制器中验证这一点,而是将验证移到用户模型,然后添加以下行:

$breakpoint-classes