2009-10-14 7 views
6

Tengo este problema todo el tiempo en mis aplicaciones de rieles y todavía necesito la solución correcta. Cada vez que un usuario edita su propio registro, se completa el campo de contraseña. Sospecho que su Firefox como configuración @ user.password = nil en la acción de edición no ayuda.¿Cómo puedo detener el campo de contraseña que se rellena previamente en la edición?

El problema es que la confirmación de la contraseña no se rellena, por lo que la validación falla debido a una falta de coincidencia.

He intentado lo siguiente:

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

Pero eso no lo hace. También probé :autofill => 'off' que tampoco funciona.

¿Alguien tiene alguna sugerencia? Gracias.

Respuesta

15

Set autocomplete = "off" en la forma y la entrada etiquetas

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

Esto funcionó a la perfección. ¡Gracias! – tsdbrown

+0

En Ruby para copiar y pegar personas vagas como yo: <% = form_for (user,: html => {autocompletar: "off"}) do | f | %> –

+0

Esta solución no funciona con navegadores antiguos, como ie7 o ie8 – Jorge

1

hay dos soluciones:

  1. decirle a Firefox no para llenar esos campos;

  2. dar al campo de la contraseña un nombre diferente de "contraseña".

+1

1. No puedo controlar el usuario. 2. Gran idea, estoy seguro, funcionaría, pero tendría que modificar el campo de contraseña en bastantes proyectos, algunos con AuthLogic, otros con RA, etc. – tsdbrown

0

Las opciones HTML están en existencia propia de hash lo que la sintaxis debe tener este aspecto

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

Este debe reemplazar el atributo de valor en el HTML de respuesta.

+0

Gracias por la respuesta, aunque la sintaxis es perfectamente válida. La lista de parámetros después del método sigue siendo un hash sin o sin los corchetes. Mire estos ejemplos: http://apidock.com/rails/ActionView/Helpers/FormHelper/password_field – tsdbrown

+0

Cuando el último parámetro es un hash, los corchetes son opcionales; ni obligatorio ni prohibido. – giorgian

+0

Cierto, gracias por señalar mi propia suspensión sintáctica. El: valor => '' debería ser todo lo que se necesita. – triendeau

2

La línea f.password_field :password, :value => '' no funcionó para mí (en los rieles 3.1). Aunque pude vaciar el campo con f.password_field :password, :value => nil.

Saludos

0

como una opción de campo, puede pasarlo como esto

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