2014-07-03 41 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

我在架构中的用户表中有一个电子邮件字段,因为它是在创建迁移时生成的。 –

相关问题