2009-10-14 89 views
6

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

问题是没有填充密码确认,所以验证失败是由于未匹配。

我已经试过如下:

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

但是,这并不这样做。我也试过:autofill => 'off',这也不起作用。

有没有人有任何建议?谢谢。

回答

15

设置自动完成=“关闭”的形式和输入标签

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

这非常适用。谢谢! – tsdbrown 2009-10-15 08:36:57

+0

在Ruby中复制和粘贴像我这样的懒人: <%= form_for(user,:html => {autocomplete:“off”})do | f | %> – 2013-06-12 20:10:42

+0

此解决方案不适用于旧版浏览器,例如ie7或ie8 – Jorge 2014-11-06 16:38:47

1

解决办法有两个:

  1. 告诉火狐没有填补这些领域;

  2. 给密码字段提供与“密码”不同的名称。

+1

1.我无法控制用户。 2.我敢肯定,这是个好主意,但是我必须在很多项目中修改密码字段,其中一些使用AuthLogic,一些使用RA等等。 – tsdbrown 2009-10-15 08:36:18

0

的HTML选项中有自己的哈希这样的语法看起来应该是这样

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

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

+0

感谢您的回应,尽管语法完全有效。方法之后的参数列表仍然是没有或没有括号的哈希。看看这些例子:http://apidock.com/rails/ActionView/Helpers/FormHelper/password_field – tsdbrown 2009-10-15 08:31:41

+0

当最后一个参数是散列时,括号是可选的;既不强制也不禁止。 – giorgian 2009-10-15 08:45:14

+0

真的够了,谢谢你指出我自己的句法挂断。 :value =>''应该是所有需要的。 – triendeau 2009-10-15 18:34:36

2

线f.password_field :password, :value => ''没有为我工作(在rails 3.1上)。虽然我用f.password_field :password, :value => nil将字段清空。

问候

0

作为现场的选项,你可以通过它像这样

<%= f.password_field :password, {:autocomplete =>"off"} %> 
相关问题