Подтвердить что ты не робот

Как добавить 'select one...' в options_from_collection_for_select

Ниже приведена моя специальная форма, которая работает правильно.

Когда пользователь загружает страницу, он должен показать начальный "выбрать один... со значением null или".

Я попытался добавить его в Object, но не смог и был бы рад получить помощь!

Спасибо большое!


На мой взгляд:

= select_tag 'incident[fault_id]' , options_from_collection_for_select( Fault.all, :id, :label)

Я использую Rails 3.2 и HAML


Update:

Случайно я нашел что-то действительно сладкое:

include_blank: 'select one...'

или полностью

= f.collection_select :fault_id, Fault.order(:label), :id, :label, include_blank: 'select one...'

В случае, если кому-то тоже нравится...

Ссылка: http://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html

4b9b3361

Ответ 1

options_from_collection_for_select возвращает строку тегов параметров, которые были скомпилированы путем итерации по коллекции и присвоения результата вызова value_method в качестве значения параметра и text_method как текст опции.

Поэтому просто добавьте его с опцией "select_one" без значения:

 = select_tag 'incident[fault_id]', content_tag(:option,'select one...',:value=>"")+options_from_collection_for_select( Fault.all, :id, :label)

Ответ 2

prompt является свойством select tag NOT options_from_collect_for_select, поэтому

select_tag("sales_rep[manufacturer_id]", options_from_collection_for_select(@manufacturers, "id", "name"), { :prompt => 'Select Manufacturer' }

Ответ 3

collection_select (: sales_rep,: manufacturer_id, @manufacturers,: id,: name, {: prompt = > 'Select Manufacturer'})