grouped_options_for_select в рельсах 4

Я сделал grouped_options_for_select. Я хочу подсказку. Если в группе нет опций для выбора, там не должно быть места. Я пытаюсь с помощью следующего кода.
контроллер:

 @grouped_options = @subjects.inject({}) do |options, product|
     (options[product.subject_name] ||= []) << [product.module_name, product.subject_module_id] 
     options
 end  

Посмотреть:

<div id="subject_module_drp_div">
    <%= f.select :subject_module_id, grouped_options_for_select(@grouped_options), 
                    {:class=>"form-control select_modules",:style=>"width:100%;"} %>
</div>  

мои варианты для выбора, как,

Грамматика:
Время
голос

Наука:

Математика:
Алгебра
Trignomentry

Здесь Наука не имеет возможности выбрать. Таким образом, математика идет рядом с наукой. Между наукой и математикой нет места. Есть ли возможность сделать это в grouped_options_for_select. А как придать значение подсказки и получить уже выбранные варианты.
Улыбнись и спасибо.

1 ответ

Решение

Я пытаюсь больше искать с этой проблемой и получить решение. Извините за вопрос перед тщательной проверкой. И мой ответ:
контроллер:

(options[product.subject_name] ||= []) << if product.module_name != nil then [product.module_name, product.subject_module_id] else ["Nil", :disabled => true] end   

Посмотреть:

<%= f.select :subject_module_id, grouped_options_for_select(@grouped_options, selected: @faculty_profile.subject_module_id),
        {:prompt => 'Select Module'}, {:class=>"form-control select_modules",:style=>"width:100%;"} %>  

Это хорошо работает для меня. Благодарю.

Другие вопросы по тегам