Включить автозаполнение с рельсами form_tag
Я пытаюсь отключить автозаполнение в одной из моих рельсовых форм. Вот что я пробовал до сих пор:
# add it at the form level
= 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'
Это тоже не было.
# 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'
Когда я нахожусь в моей форме, мой адрес электронной почты и сохраненный пароль уже заполнены. Что я здесь делаю неправильно? Я обожаю рельсы, но меня это иногда заставляет меня злиться.
Ответы
Ответ 1
По Rails 4 +
Отключить автозаполнение всей формы с помощью form_tag
:
= form_tag admin_sessions_path, html: { autocomplete: "off" } do
Отключить автозаполнение всей формы с помощью form_for
:
= form_for @user, html: { autocomplete: "off" } do |f|
Отключить автозаполнение для одного элемента формы:
= f.text_field :foo, autocomplete: 'off'
Надеюсь, это поможет!
Ответ 2
атрибут autocomplete должен быть назначен для html-ключа так:
html: {autocomplete: 'off'}
Ответ 3
В последней версии хром autocomplete: 'off'
не работает. Вместо этого используйте autocomplete: 'disabled'
Ответ 4
Существует несколько способов отключения функции автозаполнения:
На уровне формы: (автокопирование завершено для всех входов)
<% form_tag(:form_name, @form_name, autocomplete = "off") do |f|%>
За вход:
<%= text_field_tag('my input', nil, autocomplete = 'off') %>
Простая форма для ввода:
<% f.text_field :fieldname, input_html: {autocomplete: 'off'} %>