2016-04-07 26 views
1

Merhaba Bir kullanıcı zaten aynı e-posta adresiyle siteye kayıtlı bulunuyorsa, kaydolabilirim. Şimdiye kadar bu benim denetleyicideki kodu uygulamaya çalışıyorum.Raylar Kullanıcı kayıt olmadı e-posta adresi zaten mevcut

Kullanıcı kontrolörü

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 

Kullanıcıların denetleyicisi ben bir olurdu düşündüm bir kullanıcı zaten kaydolurken, o kullanıcı önlemek ve sadece tekrar yeni bir sayfa kılacak var eğer öyleyse koşullu sürece. Ancak, kullanıcı hala kayıt olabilir. Bunu nasıl yapacağınıza dair herhangi bir fikir gerçekten yardımcı olacaktır.

cevap

2

Bunun yerine denetleyicisi bu doğrulamanın, kullanıcı modeli için doğrulama taşımak ve bu satırı ekleyin:

validates :email, uniqueness: true 
İlgili konular