2010-06-22 5 views
1

UPDATEéléments pré de sélection dans sélectionnez rails boîte

@selected 
attributes: 
group_id: "29" 
attributes_cache: {} 
@data 
attributes: 
created_at: 2010-06-19 10:16:13 
term_id: "1" 
updated_at: 2010-06-19 10:16:13 
id: "29" 
course_id: "1" 

Salut,

Je suis en train d'effectuer une pré-sélectionner des éléments dans un select_tag

<%= select_tag "contact[group_ids][]", 
     options_for_select(
     @data.map{ |d| [" Term #{d.term.number} #{d.term.start_date} #{d.course.course_type} #{d.course.course_name}"] }, 
     @selected.map{ |j| j.id } 
     ), 
     :multiple => true 
%> 

L'objet @data est tous les éléments dans la liste et @selected contient les identifiants de ceux qui devraient être sélectionnés.

Des idées pour lesquelles ils ne sont pas sélectionnés?

Merci, Alex

Répondre

0

Je crois qu'il est juste

<%= select_tag "contact[group_ids][]", 
     options_for_select(
     @data.map{ |d| [" Term #{d.term.number} #{d.term.start_date} #{d.course.course_type} #{d.course.course_name}"] }, 
     @selected 
     ), 
     :multiple => true 
%> 

parce railsapi.com dit:

"selected peut aussi être un tableau de valeurs à sélectionner lors de l'utilisation d'un multiple sélectionnez "

Modifier

Je pensais que @selected était un tableau d'ID, mais ce n'est pas. Donc, la façon dont vous écrivez d'abord votre code (avec @selected.map{ |j| j.id }) devrait fonctionner.

+0

Merci pour la réponse, j'ai essayé après avoir regardé l'api mais n'a pas eu de chance. J'ai ajouté à quoi ressemblaient mes objets, ils vont bien? – Alex

+0

Je pensais que '@ selected' était un tableau d'ID ... Mais' @ selected.map {| j | j.id} 'devrait travailler alors: / –

Questions connexes