web-dev-qa-db-ja.com

Rails form_tagでオートコンプリートをオフにします

Railsフォームの1つでオートコンプリートをオフにしようとしています。これまでに試したことは、次のとおりです。

# 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'

フォームにアクセスすると、メールアドレスと保存したパスワードがすでに入力されています。私はここで何が間違っているのですか?私はRailsが大好きですが、それは時々私を本当に怒らせます。

18
stephenmurdoch

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'

お役に立てれば!

25
Matt Sanders

オートコンプリート属性は、次のようにhtmlキーに割り当てる必要があります。

html: {autocomplete: 'off'}
4
dennis

最新バージョンのchrome autocomplete: 'off'は機能しません。代わりに、autocomplete: 'disabled'を使用してください

3
Pooja

オートコンプリート機能をオフにする方法はいくつかあります。

フォームレベルで:(すべての入力に対してautoceompleteがオフになっています)

<% 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'} %>
1
Oliver Zeyen