Запрос в select_tag

В моем приложении в регистрации пользователя у меня есть сборщик стран..

<%= select(:user, :country, options_for_select(@COUNTRIES)) %>

И я хочу добавить приглашение в качестве первого значения по умолчанию (что-то вроде "--- select country ---" ). Где и как мне поместить этот вариант?

Ответ 2

Вы также можете указать настроенное значение подсказки, подобное этому

select(:user, :country, options_for_select(@COUNTRIES), :prompt=>"select User name")

Ответ 3

Очень просто:

select(:user, :country, options_for_select(@COUNTRIES), :prompt=>true)

Для подсказки "Пожалуйста, выберите", или это для вашего пользовательского текста:

select(:user, :country, options_for_select(@COUNTRIES), :prompt=>"Select country")

Также обратите внимание, что @COUNTRIES неверно, переменная экземпляра должна быть строчной - @COUNTRIES, константа будет только COUNTRIES.

Ответ 4

Если кто-то приходит к этому, попробуйте написать prompt вне options_for_select.

вместо

select(:user, :country, options_for_select(@COUNTRIES), :prompt=>true)

попробовать,

select(:user, :country, options_for_select(@COUNTRIES)),{:prompt=>"Your message here"}

Хорошо работает и для select_tag. Кроме того, я согласен с @gunn с соглашением об именах.

Ответ 5

collection_select(:product,
  :category_id,
  Category.all,    
  :id,    
  :title,    
  {:prompt => true}
)

collection_select(:product,    
  :category_id,    
  Category.all,    
  :id,    
  :title,    
  {:include_blank => 'Please Select'}
)

оба из них приводят к одному и тому же html, но первый не будет включать параметр "Выбрать", когда вы вернетесь к редактированию ранее созданного продукта