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が大好きですが、それは時々私を本当に怒らせます。
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'
お役に立てれば!
オートコンプリート属性は、次のようにhtmlキーに割り当てる必要があります。
html: {autocomplete: 'off'}
最新バージョンのchrome autocomplete: 'off'
は機能しません。代わりに、autocomplete: 'disabled'
を使用してください
オートコンプリート機能をオフにする方法はいくつかあります。
フォームレベルで:(すべての入力に対して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'} %>