Как сделать свернутый выпадающий список в rails simple_form

В моем приложении есть две модели: rfq и стандарт. Их отношения - многие ко многим. На экране создания запроса предложений приведенный ниже код отображает список доступных для выбора в раскрывающемся списке:

<%= simple_form_for @rfq do |f| %>    
<%= f.association :standards, :collection => Standard.active_std.all(:order => 'name'), :label_method => :name, :value_method => :id %> 
<% end %>

Проблема в том, что список не свернут, а это означает, что в многострочных полях отображается несколько стандартов. Как я могу уменьшить поле только до одной строки?

Спасибо.

ОБНОВЛЕНО: вот снимок экрана с многострочным списком: введите здесь описание изображения


person user938363    schedule 09.01.2012    source источник
comment
Итак, он создает для вас множественный выбор, верно? а вы хотите не множественный выбор?   -  person Vasiliy Ermolovich    schedule 10.01.2012
comment
Обычный выпадающий список состоит только из одной строки. Мой занимает несколько строк и занимает слишком много места на экране.   -  person user938363    schedule 10.01.2012
comment
поэтому, если множественный выбор является проблемой, используйте это: <%= f.association :standards, :collection => Standard.active_std.all(:order => 'name'), :label_method => :name, :value_method => :id, :input_html => { :multiple => false } %>   -  person Vasiliy Ermolovich    schedule 10.01.2012
comment
все то же самое с добавлением :input_html...   -  person user938363    schedule 10.01.2012
comment
Только что обновил пост скриншотом. Благодарю.   -  person user938363    schedule 11.01.2012


Ответы (3)


Это создает множественный выбор, потому что один запрос может иметь много стандартов, поэтому он позволяет вам щелкнуть клавишу Ctrl, чтобы выбрать несколько стандартов.

Вы можете попробовать добавить :input_html => { :size =>'1' }, но я не уверен, что это сохранит полосу прокрутки. Точно не упадет.

Вот кто-то еще, кто хотел сделать то же самое: множественный выбор HTML должен выглядеть как выбор HTML. Один из ответов относится к раскрывающемуся контрольному списку, реализованному в jQuery, но это потребует некоторой работы для интеграции с SimpleForm.

У SimpleForm есть очень полезная группа Google — вы можете найти там больше идей:

http://groups.google.com/group/plataformatec-simpleform

person Mark Berry    schedule 18.03.2012

Вы можете добавить as: :collection_select

person chrysa    schedule 21.09.2017

Использовать

=f.collecion_select, model_associated_ids, collection, value, label 

у тебя вот так

=f.collection_select, :standard_ids, Standard.active_std.all, :id, :name

вы можете найти больше информации здесь

https://github.com/plataformatec/simple_form

person Erick Eduardo Garcia    schedule 08.05.2013