[英]Devise - Rails 4 - Not able to login
我剛開始使用 Rails 4。我得到了帶有自定義字段的
devise<\/code>設置。
我注冊后可以登錄,但我無法從登錄頁面登錄。
用戶注冊順利,我在數據庫表中
username<\/code> 、
password<\/code>等。
有人可以告訴我我錯過了什么嗎? 我的用戶模型非常基本。 這是它的樣子 -
class User < ActiveRecord::Base
# Include default devise modules. Others available are:
# :token_authenticatable, :confirmable,
# :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
validates :username, :uniqueness => true, :presence => {:message => '- Username cannot be blank'}
validates :first_name, :presence => { :message => " - Firstname cannot be blank!"}
private
def user_params
params.require().permit(:first_name, :last_name, :username, :email, :password, :password_confirmation)
end
end
在您的應用程序控制器中,您已經允許使用params進行sign_up,但不允許使用sign_in。 所以我將configure_permitted_parameters
方法更改為this,它應該工作:
def configure_permitted_parameters
devise_parameter_sanitizer.for(:sign_in) { |u| u.permit(:username, :password, :remember_me) }
devise_parameter_sanitizer.for(:sign_up) {|u| u.permit(:username, :first_name, :last_name, :password, :password_confirmation, :email) }
end
我正在使用可確認的設計。 devise.rb 的設置方式是,如果帳戶的電子郵件未得到確認,它不會讓我登錄。 所以在我的情況下有效的是在 devise.rb config.allow_unconfirmed_access_for = 999.days 添加以下標志
默認值為 nil,這意味着在用戶確認他們的電子郵件之前,設計不會讓您登錄
在我的 UI 中,我顯示了一個錯誤消息欄,其中包含一個觸發重新發送確認郵件的按鈕。 錯誤欄一直存在,直到用戶確認他們的郵件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.