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%;"} %>
Это хорошо работает для меня. Благодарю.