加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 在RoR 3.1中的password_digest,has_secret_pas

发布时间:2020-12-17 04:04:03 所属栏目:百科 来源:网络整理
导读:如果您还没有看到它,请查看最新的railscast authentication in rails 3.1.他在生成模型时使用password_digest:string并将has_secret_password添加到User模型.他还添加了一些accessible_attributes,:password和:password_confirmation. 通过使用validates_
如果您还没有看到它,请查看最新的railscast authentication in rails 3.1.他在生成模型时使用password_digest:string并将has_secret_password添加到User模型.他还添加了一些accessible_attributes,:password和:password_confirmation.

通过使用validates_confirmation_of:password,我们可以确保在创建实例之前确认密码.如果我在表单中保留密码字段为空,我会收到以下错误消息:

ruby-1.9.2-p180 :024 > u = User.new
 => #<User id: nil,name: nil,email: nil,password_digest: nil,created_at: nil,updated_at: nil> 
ruby-1.9.2-p180 :027 > u.save
   (0.4ms)  SELECT 1 FROM "users" WHERE "users"."email" = '' LIMIT 1
 => false 
ruby-1.9.2-p180 :028 > u.errors.full_messages
 => ["Password digest can't be blank"]

当然,我们不希望在与用户通信时调用密码字段“密码摘要”.如何更改此错误消息?

奖金问题
当使用validates_confirmation_of并使用不匹配的密码时,我收到两条错误消息,告诉我它,并且只有:password标签和输入标签被fields_with_errors div包围.如果密码不匹配,我还要突出显示password_confirmation输入,如果可能,请从密码部分完全删除它.

我应该编写自己的方法来检查密码确认吗?如果是这样,你能提供一些小指南吗?

解决方法

解决此问题的官方方法是将以下内容添加到您的语言环境文件中:

en:
  activerecord:
    attributes:
      user:
        password_digest: 'Password'

英语语言环境文件位于config / locales / en.yml.您可能必须重新启动服务器才能在环境中加载更改.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读