我試圖把#registerable關斷裝置和後剛剛註冊通過控制檯和種子數據的用戶不過我有與標誌的問題。設計的用戶無法登錄
- 我創建了一個用戶通過控制檯:User.create!(email:'[email protected]',密碼:'password',用戶名:'用戶名')
- 它通過驗證並保存到數據庫
- 我無法登錄(通過網站表格),當我提供電子郵件時:[email protected]和密碼:密碼
這是密碼不過,在控制檯:
u = User.find_by_email('[email protected]') u => #<User id: 6, email: "[email protected]", encrypted_password: "$2a$10$xd0PMJ.qDDu6VtFd6i2EM.bQ0h1rvODyzaqFdzo3Uo4C...", username: "user", reset_password_token: nil, reset_password_sent_at: nil, remember_created_at: nil, sign_in_count: 0, current_sign_in_at: nil, last_sign_in_at: nil, current_sign_in_ip: nil, last_sign_in_ip: nil, created_at: "2013-09-30 01:25:16", updated_at: "2013-09-30 01:25:16"> u.valid_password? 'password' => true
我已經試過多個用戶,我已經試過DB/seed.rb創建它。再次,它進入數據庫,一切都很好。它只是不會登錄。我也嘗試添加password_confirmation字段與一個匹配的密碼,沒有骰子。
如果我打開:在用戶模型中註冊,轉到註冊頁面,註冊用戶,我可以使用該用戶(通過表單創建)登錄。
我唯一的想法是,加密密碼的生成方式有一些差異?但是這並不成立,因爲我可以在web創建的用戶上運行相同的find_by_email/valid_password檢查。
任何幫助將不勝感激?
編輯:
我不使用可證實,這裏是我的設計屬性:
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatablen
EDIT2 現在我不能用我的網站創建的帳戶登錄。我需要做更多的調試。
請解釋當您嘗試登錄時看到的內容 –
它重新呈現設置了閃存標題的用戶/ sign_in頁面:「無效的電子郵件或密碼」。 Rails服務器日誌中的401錯誤 – Mike
如果在控制檯中創建用戶,然後通過瀏覽器使用相同的密碼,會發生什麼?加密的密碼是否匹配? –