2017-01-25 1 views
0

J'ai effectué grouped_options_for_select. Je veux une invite. S'il n'y a pas d'options à sélectionner dans le groupe, il ne devrait pas y avoir d'espace. J'essaye avec le code suivant.
contrôleur :grouped_options_for_select dans les rails 4

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

Vue:

<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> 

mes options pour une sélection, comme,

Grammaire:
Tense
Voix

Science:

Mathématiques:
algèbre
Trignomentry

Ici la science n'a pas possibilité de choisir. Donc, les mathématiques viennent immédiatement à côté de la science. Il n'y a pas d'espace entre la science et les mathématiques. Y a-t-il une option pour le faire dans grouped_options_for_select? Et comment donner une valeur rapide et obtenir des options déjà sélectionnées.
Smile & Merci.

Répondre

0

J'essaye plus de recherche avec ce problème et obtiens la solution. Désolé pour la question ici avant check.And complète ma réponse est,
Controller:

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

Vue:

<%= 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%;"} %> 

Cela fonctionne bien pour moi. Merci.