2014-07-03 78 views
0

我試圖在設計初始化程序中設置基於用戶名的認證開始;但事實證明,此時此刻我需要做更多的工作,而不願意投入此應用,因爲這只是爲了解決問題。所以我最初在config.authentication_keys = [ :username ]以及其他配置設置中將其全部更改爲:email更改設計初始值設定項,現在認證中斷

問題是,雖然,現在當我嘗試登錄我現在得到以下錯誤:

NoMethodError in Devise::SessionsController#create 
undefined method `email' for #<ActionDispatch::Request:0xrequestid> 

我懷疑這是與我初次涉足到基於用戶名的身份驗證,但我不能告訴其中實際問題/剩餘配置是我現在需要解決的問題,因爲我對Rails很陌生。

我很樂意提供任何日誌/配置/你的名字。我只是不知道此時會有什麼幫助。

回答

0

好吧,事實證明,我不應該指定config.authentication_keysconfig.request_keys當我將它們更改回[:email](默認值)時。無論出於何種原因(我還不知道),這要求我指定強參數,這些參數與我剛剛留下評論的那些設計指定的參數相同。

所以簡單的解決方案是不指定的東西,如果你使用的是默認值。

1

你的用戶模型中是否有email字段?看起來像設計試圖獲得一個電子郵件的價值,當你登錄和失敗。

+0

我在架構中的用戶表中有一個電子郵件字段,因爲它是在創建遷移時生成的。 –

相關問題