【问题标题】:rails 3 using devise for authenticationrails 3 使用设备进行身份验证
【发布时间】: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

我在哪里进行更改以解决此问题?

【问题讨论】:

    标签: ruby-on-rails devise


    【解决方案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 %>
    

    【讨论】:

    • 对,设计包含其功能的默认视图,但如果您更改主登录字段,则必须覆盖所有要使用的视图。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-03
    • 1970-01-01
    • 2019-01-20
    • 2015-10-05
    相关资源
    最近更新 更多