使用rails form_tag关闭自动完成功能

ste*_*och 15 forms autocomplete ruby-on-rails autofill

我试图在我的一个rails表单中关闭自动完成功能.这是我到目前为止所尝试的:

# add it at the form level
= form_tag admin_sessions_path, autocomplete: "off" do
Run Code Online (Sandbox Code Playgroud)

那没用.

# add it at the element level
.panel
  = label_tag :email
  = email_field_tag :email, params[:email], autocomplete: 'off'
Run Code Online (Sandbox Code Playgroud)

也没有那样做.

# 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'
Run Code Online (Sandbox Code Playgroud)

当我访问我的表单时,我的电子邮件地址和已保存的密码已经填写完毕.我在这做错了什么?我喜欢铁轨,但它有时让我很生气.

Mat*_*ers 22

从Rails 4+开始

禁用整个表单的自动填充功能form_tag:

= form_tag admin_sessions_path, html: { autocomplete: "off" } do
Run Code Online (Sandbox Code Playgroud)

禁用整个表单的自动填充功能form_for:

= form_for @user, html: { autocomplete: "off" } do |f|
Run Code Online (Sandbox Code Playgroud)

禁用单个表单元素的自动完成:

= f.text_field :foo, autocomplete: 'off'
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助!


den*_*nis 5

autocomplete 属性应该分配给 html 键,如下所示:

html: {autocomplete: 'off'}
Run Code Online (Sandbox Code Playgroud)


Poo*_*oja 5

在最新版本的 chrome 中autocomplete: 'off'不起作用。而是使用autocomplete: 'disabled'