2014-07-16 23 views
8

Sto tentando di disattivare l'autocompletamento in uno dei miei moduli di binari. Ecco cosa ho provato finora:Disattiva completamento automatico con rotaie form_tag

# add it at the form level 
= form_tag admin_sessions_path, autocomplete: "off" do 

Che non ha funzionato.

# add it at the element level 
.panel 
    = label_tag :email 
    = email_field_tag :email, params[:email], autocomplete: 'off' 

Neanche quello.

# add it to both 
= form_tag admin_sessions_path, autocomplete: "off" do 

    # add it at the element level 
    .panel 
    = label_tag :email 
    = email_field_tag :email, params[:email], autocomplete: 'off' 

Quando visito il mio modulo, il mio indirizzo email e la password salvata sono già compilati. Cosa sto facendo di sbagliato qui? Adoro i binari, ma a volte mi fa impazzire.

risposta

8

Al rotaie 4+

completamento automatico Disable per un intero modulo con form_tag:

= form_tag admin_sessions_path, html: { autocomplete: "off" } do 

completamento automatico di blocco per un intero modulo con form_for:

= form_for @user, html: { autocomplete: "off" } do |f| 

Disabilita completamento automatico per un singolo elemento del modulo:

= f.text_field :foo, autocomplete: 'off' 

Spero che questo aiuti!

+1

Grande tempismo - Ho postato questa domanda (o simile) ieri e ho appena trovato la risposta oggi. Funziona perfettamente - grazie! – Zoinks10

+0

Sono contento che sia stato utile. :-) –

2

l'attributo autocomplete deve essere assegnato al tasto html in questo modo:

html: {autocomplete: 'off'} 
+0

Questo funziona solo con form_for, sto usando form_tag .. – stephenmurdoch

1

arrivare diversi modi di spegnere la funzionalità di completamento automatico:

A livello forma: (autoceomplete girato di per tutti ingressi)

<% form_tag(:form_name, @form_name, autocomplete = "off") do |f|%> 

Per ingresso:

<%= text_field_tag('my input', nil, autocomplete = 'off') %> 

forma semplice per ingresso:

<% f.text_field :fieldname, input_html: {autocomplete: 'off'} %> 
+0

Grazie, ma nessuna di queste opzioni funziona con form_tag. Il primo e il terzo suggerimento funzionano con form_for (e derivati ​​come simple_form), e il secondo genera il seguente html: ' '. I documenti per form_tag mostrano che non esiste un'opzione chiamata: opzioni. – stephenmurdoch

+0

Mi spiace ... Non esiste un'opzione chiamata: opzioni, hai assolutamente ragione. Basta aggiungere i tuoi attributi aggiuntivi come nella mia versione modificata. In questo modo puoi aggiungere anche "foo = 'bar'. Lo stesso vale per il form_tag ... Vedi documentazione API: http://apidock.com/rails/ActionView/Helpers/FormTagHelper/text_field_tag ​​ –

+0

Ha, i tuoi nuovi suggerimenti fanno sì che le rotaie generino un'eccezione :) 'autocomplete = 'off'' è html valido, ma non ERB o HAML. Comunque, penso di aver fatto qualcosa di divertente, come salvare la mia password prima di disattivare il completamento automatico. avrò un po 'di fortuna se elimino le mie password salvate e riprovo con il completamento automatico disattivato dall'inizio. Grazie ancora. – stephenmurdoch