2013-07-17 8 views
7

Mam autouzupełnianie konfiguracji w mojej aplikacji i zauważyłem podczas testowania, że ​​nagle nie udało mu się przed chwilą pracować. Aplikacja zwróciła błąd pg twierdząc, że wartość employee_id miała wartość null.szyny 4 simple_form wyłącz autouzupełnianie na poziomie formularza

Zdałem sobie sprawę, że autouzupełnianie natywnej przeglądarki monitowało mnie o wartość i dlatego js nie wstawił wartości id do ukrytego pola.

Po sprawdzeniu dokumentacji Mozilli widzę, że zalecają wyłączenie autouzupełniania na poziomie formularza. Używam simple_form, ale nie mogę wymyślić, jak to zrobić.

<form name="form1" id="form1" method="post" autocomplete="off" 

Odpowiedz

23

Wystarczy przejść autocomplete opcję do :html hash:

<%= simple_form_for @user, html: { autocomplete: 'off' } do |f| %> 
    <%= f.input :country, as: :string %> 
<% end %> 
+0

bez kopania zbyt mocno, mijam fałszywe i takie tam ..." off "działało dobrze. dzięki Vasily – pjammer

+0

Ten już nie działa, potrzebujesz odpowiedzi poniżej – jake

8

Jeśli chcesz go wyłączyć tylko dla jednego lub więcej atrybutów zamiast całej postaci, można skorzystać z opcji "input_html ", tak:

<%= simple_form_for(@user, url: @form_url) do |f| %> 
    ... 
    <%= f.input :password, input_html: { autocomplete: 'off' } %> 
    <%= f.submit %> 
<% end %>