2016-04-07 3 views
1

こんにちは私は自分のユーザー登録を修正しようとしています。そのユーザーが既に同じメールでサイトに登録されているとサインアップできません。これまでのところ、これは実装しようとしているコントローラのコードです。Railsユーザーはサインアップできません既にメールがあります

ユーザコントローラ

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 

は、私は、ユーザーが既にそれがサインアップするから、そのユーザーを防ぎ、もう一度新しいページをレンダリングするでしょうが存在するので、もしユーザーがコントローラに私は条件付きのない限り、持っていると考えました。ただし、ユーザーは引き続きサインアップできます。これを正しく行う方法に関するアイデアは本当に助けになります。

答えて

2

の代わりに、あなたのコントローラでこれを検証し、Userモデルに検証を移動し、この行を追加します。

validates :email, uniqueness: true 
関連する問題