次のようなコレクションを選択しています。
<%= f.collection_select :region_id, Region.find(:all), :id, :name, { :prompt => 'Select a State/Province' }, :style => "width: 200px;" %>
:prompt オプションのプロンプトが表示される場合と表示されない場合があります。これのトラブルシューティングを開始できる場所を誰か知っていますか? 久々に見たかも…
次のようなコレクションを選択しています。
<%= f.collection_select :region_id, Region.find(:all), :id, :name, { :prompt => 'Select a State/Province' }, :style => "width: 200px;" %>
:prompt オプションのプロンプトが表示される場合と表示されない場合があります。これのトラブルシューティングを開始できる場所を誰か知っていますか? 久々に見たかも…
:include_blank
空白のオプションの値でうまくいくようです。これを試して:
{:include_blank => "Please select"}
:prompt
選択された値がない場合、リストに表示されます。
:include_blank
選択した値で選択をロードした場合でも、常にリストに表示されます。
あなたの選択が常に"Select a State/Province"
最初のオプションとして持つようにしたい場合:
<%= f.collection_select :region_id, Region.all, :id, :name, include_blank: 'Select a State/Province' %>
"Select a State/Province"
リージョンがまだ選択されていない場合にのみ、コレクションを最初のオプションとして使用する場合:
<%= f.collection_select :region_id, Region.all, :id, :name, prompt: 'Select a State/Province' %>
ソース: http://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html
私は同じ問題を抱えています。「プロンプト」を使用すると、選択タグの属性が作成されるようです。問題は、私が知っている属性がないことです。さらに、Rails ドキュメントhttp://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html#method-i-options_from_collection_for_selectに記載されている内容とは明らかに異なります。
include_blank を使用することは、私にとって良い回避策のようです。
乾杯、ロビン。
これを試して<%= f.collection_select :region_id, Region.all, :id, :name, {prompt: 'Select a State/Province'}, {class: "form-control"} %>
それ以外の
:prompt => "Select a State/Province"
試す
:allow_blank => "Select a State/Province"
編集: はい、API を確認した後、私はそれが混乱していたことがわかります。ドキュメントによると、プロンプトは正しい方法です。オブジェクトに既に値があり、プロンプトが存在するために時々表示される可能性がありますが、ドロップダウンリストで現在選択されている値ではありませんか???