Подскажите в select_tag - PullRequest
       1

Подскажите в select_tag

15 голосов
/ 12 января 2011

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

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

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

Ответы [ 5 ]

33 голосов
/ 12 января 2011

Используйте FormHelper :prompt

select(:user, :country, options_for_select(@COUNTRIES), {:prompt => "--select county--"})

http://apidock.com/rails/ActionView/Helpers/FormOptionsHelper

4 голосов
/ 02 мая 2013

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

select(:user, :country, options_for_select(@COUNTRIES), :prompt=>"select User name")
2 голосов
/ 12 января 2011

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

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

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

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

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

0 голосов
/ 04 июля 2016
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, но первый не будет содержать опцию «Пожалуйста, выберите», когда вы вернетесь для редактирования ранее созданного Продукта

0 голосов
/ 23 декабря 2011

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

вместо

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

try,

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...