Ответ 1
:include_blank
со значением вашего пустого варианта, похоже, делает трюк. Попробуйте следующее:
{:include_blank => "Please select"}
У меня есть коллекция, которая выглядит следующим образом:
<%= 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
У меня такая же проблема. Использование "подсказки", похоже, создает атрибут для тега select, проблема в том, что нет такого атрибута, о котором я знаю. Плюс его явно не то, что описано в документах 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"
EDIT: Да, после проверки API я вижу, что я его смутил, подсказка правильная в соответствии с документацией, может быть, она только иногда появляется, потому что у вашего объекта уже есть значение, и поэтому запрос там, но это не текущее выбранное значение в выпадающем списке???