Подтвердить что ты не робот

Включить автозаполнение с рельсами 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'

Когда я нахожусь в моей форме, мой адрес электронной почты и сохраненный пароль уже заполнены. Что я здесь делаю неправильно? Я обожаю рельсы, но меня это иногда заставляет меня злиться.

4b9b3361

Ответ 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'} %>