Выбор коллекции Ruby Rails отображает пустое значение «подсказки»? - PullRequest
11 голосов
/ 17 апреля 2009

У меня есть коллекция, подобная следующей:

<%= f.collection_select :region_id, Region.find(:all), :id, :name, { :prompt => 'Select a State/Province' }, :style => "width: 200px;" %>

Иногда появляется подсказка из опции: prompt, но иногда нет. Кто-нибудь знает, где я мог бы начать устранять это? Может быть, я смотрю на это слишком долго ...

Ответы [ 5 ]

43 голосов
/ 14 мая 2009

:include_blank со значением вашего пустого параметра, кажется, добивается цели. Попробуйте это:

 {:include_blank => "Please select"}
12 голосов
/ 14 марта 2014

: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

2 голосов
/ 27 сентября 2011

У меня была такая же проблема. Использование 'prompt', кажется, создает атрибут для тега select, проблема в том, что такого атрибута, о котором я знаю, нет. Плюс это явно не то, что описано в документации по Rails http://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html#method-i-options_from_collection_for_select.

Использование include_blank кажется хорошим решением для меня.

Ура, Робин.

0 голосов
/ 19 августа 2016

попробуйте <%= f.collection_select :region_id, Region.all, :id, :name, {prompt: 'Select a State/Province'}, {class: "form-control"} %>

0 голосов
/ 18 апреля 2009

вместо

:prompt => "Select a State/Province"

попробовать

:allow_blank => "Select a State/Province"

РЕДАКТИРОВАТЬ: Да, после проверки API, я вижу, что я перепутал, приглашение является правильным способом в соответствии с документацией, может быть, это только иногда, потому что ваш объект уже имеет значение, и поэтому приглашение там, но это не текущее выбранное значение в раскрывающемся списке ???

...