2016-02-04 4 views
1
<%= f.collection_select :admin_attachment_id, @data['attachments'], :id, :title, { prompt: 'Select banner' }, { class: 'form-control', required: '', 'ng-model': 'banner.admin_attachment_id', 'ng-change': 'get_attachment_thumbnail()', disabled: 'Select banner', selected: '' } %> 

Renderized:Отключить только первый вариант collection_select в Rails

<select class="form-control ng-pristine ng-untouched ng-invalid ng-invalid-required" required="required" ng-model="banner.admin_attachment_id" ng-change="get_attachment_thumbnail()" name="admin_banner[admin_attachment_id]" id="admin_banner_admin_attachment_id"> 
    <option value="">Select banner</option> 
    <option value="89">Banner 1</option> 
    <option value="94">Banner 2</option> 
    <option value="114">Banner 3</option> 
</select> 

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

+0

Я думаю, что вы хотите использовать опцию 'include_blank:" Text ". Возможно, что-то вроде этого (ответ): http://stackoverflow.com/questions/31567614/ror-select-tag-with-include-blank-disable – lcguida

+0

Это не работает. Я уже пробовал. – developer033

+0

Думаю, вам нужно поставить отключенные и выбранные параметры в хеш до того, с которым вы их введете (с подсказкой:). Похоже, вы используете его в хеш-файле html_options, а не в хэш-настройках. –

ответ

0

Я использую его в select_tag, но нужна форма сгруппированных опций:

grouped_options = [ 
    [ 'Select banner', 
    [ 
    ['Banner 1', '89'], 
    ['Banner 2', '94'], 
    ['Banner 3', '114'] 
    ] 
    ] 

select_tag('admin_banner[admin_attachment_id]', grouped_options_for_select(:grouped_options)) 
0

Согласно http://apidock.com/rails/v4.2.1/ActionView/Helpers/FormOptionsHelper/select

По умолчанию post.person_id это выбранный вариант. Задайте выбранное: значение для использования другого выбора или выбранного: nil, чтобы оставить все параметры невыделенными.

Таким образом, вы бы положить в выбранной: ноль и удалить инвалидов:

<%= f.collection_select :admin_attachment_id, @data['attachments'], :id, :title, { prompt: 'Select banner', selected: nil }, { class: 'form-control', required: '', 'ng-model': 'banner.admin_attachment_id', 'ng-change': 'get_attachment_thumbnail()' } 

Я пошел кругом на это с collection_select как это не упоминается в документации по этому методу, но только один для select.

Надеюсь, это поможет!

Смежные вопросы