2017-03-15 45 views
0

確認郵件正在重新發送,即使在電子郵件確認後。即使confirm_at屬性顯示確認時間,設備用戶屬性unconfirmed_email也不會更改爲NULL值。設計確認郵件正在再次發送

我使用導軌5和設計寶石版本4.2

這是確認控制器

def create 
    begin 
    email = params[resource_name][:email] 
    rescue 
    email = "" 
end 
user = User.find_by_email(email) 
if poster and ["blocked", "deactivated"].include?(user.status) 
    poster.errors.add(:email, "has been #{user.status}") 
    self.resource = user 
    respond_with(self.resource) 
    return false 
end 
super 
end 

這是功能驗證註冊控制器電子郵件。

def verify_email 
    @user = User.find_by_confirmation_token(params[:token]) 
if @user 
    if @user.confirmed? 
    flash[:error] = "Your Account is already verified please try to login" 
    redirect_to new_poster_session_path 
    else 
    @user.confirmed_at = Time.now 
    #@user.confirmation_token = nil 
    @user.save 
    sign_in @user 
    token = Devise.friendly_token 
    current_user.update_attribute :current_sign_in_token, token 
    session[:sign_in_token] = token 
    redirect_to root_path 
    end 
else 
    @user = User.new 
    @company = Company.new 
    @city = City.new 
    #  @region = Location::Region.new 
    flash.now[:error] =  I18n.t("applicant.confirmations.invalid_or_expired_token") 
    flash[:regenerate_token] = I18n.t("applicant.confirmations.invalid_or_expired_token_regenerate", :path => new_user_confirmation_path) 
    respond_with_navigational(resource) { render :new } 
end 

上面的代碼工作得很好與另一模型和由於正在顯示任何錯誤。我不知道該怎麼去做。請幫忙 !

回答

1

如果這是實際的代碼,則說明有錯誤。

改變這一行

user = user.find_by_email(email) 

這一行

user = User.find_by_email(email) # use the class! 
+0

對不起,是我不好,錯字錯誤。它只是「用戶」,但沒有線索爲什麼它不工作。 – user3440743