rails 3 使用设备进行身份验证
Posted
技术标签:
【中文标题】rails 3 使用设备进行身份验证【英文标题】:rails 3 using devise for authentication 【发布时间】:2011-06-01 17:58:25 【问题描述】:我在我的 Rails 3 应用程序中使用 Devise 进行身份验证。
我的要求是使用用户名而不是电子邮件登录。
所以我修改了 config/initializers/devise.rb 文件如下
config.authentication_keys = [:username]
修改registraion
页面,在注册时使用用户名、电子邮件、密码。
还修改了登录、注册视图以包含用户名。
我的问题:
当我点击Forgot password
时,它会显示输入email
的字段。在我输入“电子邮件”并单击“向我发送重置密码说明”按钮后。
它会引发错误Username can't be blank
。
我在哪里进行更改以解决此问题?
【问题讨论】:
【参考方案1】:我假设 authentication_keys 将 :username 设置为必填字段。
尝试编辑 app/views/devise/passwords/new.html.erb 并替换:
<%= f.label :email %>
<br />
<%= f.text_field :email %>
与:
<%= f.label :username %>
<br />
<%= f.text_field :username %>
【讨论】:
对,设计包含其功能的默认视图,但如果您更改主登录字段,则必须覆盖所有要使用的视图。以上是关于rails 3 使用设备进行身份验证的主要内容,如果未能解决你的问题,请参考以下文章
使用 Devise 从 Rails 上的 json api 进行身份验证
我应该为在 CouchDB 上运行的 Rails 3 使用哪个身份验证 gem/插件?