【问题标题】:How can I stop the password field being pre-populated on edit?如何停止在编辑时预先填充密码字段?
【发布时间】:2010-12-06 17:58:00
【问题描述】:

我的 Rails 应用程序中一直有这个问题,我仍然需要正确的解决方案。每当用户编辑他们自己的记录时,都会填充密码字段。我怀疑它的 Firefox 在编辑操作中设置 @user.password = nil 没有帮助。

问题是没有填充密码确认,因此验证由于不匹配而失败。

我尝试了以下方法:

<%= f.label :password %>
<%= f.password_field :password, :value => "", :autofill => false, :class => 'max' %>

但这并没有做到。我也试过:autofill =&gt; 'off' 也不起作用。

有人有什么建议吗?谢谢。

【问题讨论】:

    标签: ruby-on-rails forms webforms actionview actionviewhelper


    【解决方案1】:

    在表单和输入标签中设置 autocomplete="off"

    <form name="blah" autocomplete="off">
    <input type="password" autocomplete="off">
    </form>
    

    【讨论】:

    • 在 Ruby 中复制和粘贴像我这样懒惰的人: { autocomplete: "off" }) do |f| %>
    • 此解决方案不适用于旧浏览器,例如 ie7 或 ie8
    • 这对我不起作用(chrome 47.0),但有关更多详细信息,请参阅developer.mozilla.org/en-US/docs/Web/Security/…
    【解决方案2】:

    f.password_field :password, :value =&gt; '' 行对我不起作用(在 rails 3.1 上)。虽然我可以用f.password_field :password, :value =&gt; nil 清空该字段。

    问候

    【讨论】:

      【解决方案3】:

      有两种解决方案:

      1. 告诉 Firefox 不要填写这些字段;

      2. 为密码字段指定与“密码”不同的名称。

      【讨论】:

      • 1.我无法控制用户。 2. 好主意,我确信它会起作用,但是我必须在很多项目中修改密码字段,一些使用 AuthLogic,一些使用 RA 等。
      【解决方案4】:

      作为字段选项,可以这样传递

      <%= f.password_field :password, {:autocomplete =>"off"}  %>
      

      【讨论】:

        【解决方案5】:

        HTML 选项在它们自己的哈希中,所以语法应该是这样的

        <%= f.password_field :password, { :value => '' } %> 
        

        这应该替换响应 HTML 中的 value 属性。

        【讨论】:

        • 感谢您的回复,尽管语法完全有效。方法后面的参数列表仍然是一个没有或没有括号的哈希。看看这些例子:apidock.com/rails/ActionView/Helpers/FormHelper/password_field
        • 当最后一个参数是散列时,括号是可选的;既不强制也不禁止。
        • 确实如此,感谢您指出我自己的语法问题。 :value => '' 应该是所有需要的。
        • 谢谢!这应该被标记为正确答案(对于 Rails 3.2.x),因为 RoR 内置的 &lt;%= form_for(@model) do |f| %&gt; ... 不接受 :autocomplete =&gt; "off" 指令。
        猜你喜欢
        • 2014-03-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多