我在我的Rails 3应用程序中使用Devise进行身份验证。
我的要求是使用用户名登录而不是电子邮件。
所以我修改了 config / initializers / devise.rb 文件,如下所示
config.authentication_keys = [:username]
修改了registraion
页面,以便在注册时获取用户名,电子邮件和密码。
还修改了登录,注册视图以包含用户名。
我的问题:
当我点击Forgot password
时,会显示我输入email
的字段。输入“电子邮件”并单击“发送重置密码说明”按钮后。
它会抛出错误Username can't be blank
。
我在哪里进行修改以解决此问题?
答案 0 :(得分:4)
我认为authentication_keys设置:用户名为必填字段。
尝试编辑app / views / devise / passwords / new.html.erb,然后替换:
<%= f.label :email %>
<br />
<%= f.text_field :email %>
使用:
<%= f.label :username %>
<br />
<%= f.text_field :username %>