2009-10-14 8 views
6

Mam cały czas ten problem w aplikacjach na szynach i nadal potrzebuję poprawnego rozwiązania. Ilekroć użytkownik edytuje swój rekord, pole hasła jest zapełniane. Podejrzewam, że jego Firefox jako ustawienie @ user.password = nil w akcji edycji nie pomaga.Jak mogę zatrzymać wypełnianie pola hasła podczas edycji?

Problem polega na tym, że potwierdzenie hasła nie jest wypełniane, więc sprawdzanie poprawności nie powiedzie się z powodu błędu.

Próbowałem następujące:

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

Ale nie robi tego. Próbowałem również :autofill => 'off', który również nie działa.

Czy ktoś ma jakieś sugestie? Dzięki.

Odpowiedz

15

Set autouzupełniania = "OFF" w formie i wejście tagi

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

To działało idealnie. Dziękuję Ci! – tsdbrown

+0

W języku Ruby do kopiowania i wklejania leniwych osób takich jak ja: <% = form_for (użytkownik,: html => {autocomplete: "off"}) do | f | %> –

+0

To rozwiązanie nie działa ze starszymi przeglądarkami, takimi jak ie7 czy ie8 – Jorge

1

Istnieją dwa rozwiązania:

  1. powiedzieć firefox nie wypełnić te pola;

  2. podać pole hasła o innej nazwie niż "hasło".

+1

1. Nie mogę kontrolować użytkownikowi. 2. Świetny pomysł, który na pewno działałby, jednak musiałbym zmodyfikować pole hasła w kilku projektach, niektóre z AuthLogic, niektóre z RA itp. Itd. – tsdbrown

0

opcjach HTML są tam własne hash więc składnia powinna wyglądać następująco

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

ten powinien zastąpić atrybut wartości w kodzie HTML odpowiedzi.

+0

Dzięki za odpowiedź, chociaż składnia jest całkowicie poprawna, jak jest. Lista parametrów po metodzie jest nadal hashem bez nawiasów lub bez nich. Spójrz na te przykłady: http://apidock.com/rails/ActionView/Helpers/FormHelper/password_field – tsdbrown

+0

Gdy ostatnim parametrem jest hash, nawiasy są opcjonalne; ani obowiązkowe, ani zabronione. – giorgian

+0

To prawda, dziękuję za wskazanie mojego własnego składniowego zawieszenia. Wartość:> = powinna być wszystkim, co jest potrzebne. – triendeau

2

Linia f.password_field :password, :value => '' nie działa dla mnie (na szynach 3.1). Chociaż coud opróżnić pole z f.password_field :password, :value => nil.

Pozdrowienia

0

jako opcja pola, można przekazać go jak ten

<%= f.password_field :password, {:autocomplete =>"off"} %> 
Powiązane problemy