2010-08-19 3 views
2

Je crée une boîte de sélection et j'utilise une collection. Mais au sommet de toutes les sélections, je veux ajouter quelque chose qui ne serait pas autrement dans cette collection.Ajout d'une collection et d'un champ personnalisé à une boîte de sélection

Voici ma boîte de sélection:

= select (@organization, "tabs", @organization.tabs.collect { |t| [t.title, t.id] }, {}, {:class => "text_tab_link"}) 

Et je voudrais ajouter les mots About et Edit comme une sélection supplémentaire en haut de la collection.

Quelqu'un sait comment pimp une boîte de sélection?

Répondre

4

Quelque chose comme ça peut-être? Choisissez les identifiants spéciaux appropriés.

@custom = [ ["About", -1], ["Edit", -2] ] 

= select (@organization, "tabs", (@custom + @organization.tabs.collect { |t| [t.title, t.id] }), {}, {:class => "text_tab_link"}) 
+0

merci beaucoup ami. J'apprécie vraiment cela. – Trip

1

Une autre variante

select (@organization, "tabs", options_for_select(["Partial", "Exact"])+ 
    options_from_collection_for_select(@organization.tabs, "title", "id"), {}, {:class => "text_tab_link"}) 
Questions connexes