您好我正在尝试修复我的用户注册,因此如果用户已使用相同的电子邮件注册该网站,则他们无法注册。到目前为止,这是我试图实现的控制器中的代码。
用户控制器
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
我认为在用户控制器中我会有一个除非条件,所以如果用户已经存在,它将阻止该用户注册并再次呈现新页面。但是,用户仍然可以注册。关于如何正确地做到这一点的任何想法都会有所帮助。
答案 0 :(得分:2)
不是在控制器中验证这一点,而是将验证移到用户模型,然后添加以下行:
$breakpoint-classes