2016-10-24 1 views
1

Pour mon formulaire d'utilisateur, j'ai un menu déroulant passe-temps et je veux pouvoir sélectionner plus d'une option (un utilisateur peut avoir le ski, la lecture et les échecs comme passe-temps)).Rails Formulaire: f.select pour plusieurs options

Bien sûr, cela est très easy!

Cependant, aucune des options disponibles semblent fonctionner pour moi ...

Voici mon code:

<%= f.select :hobbies, [['Chess','chess'], 
         ['Movies','movies'], 
         ['Videogames','videogames'], 
         ['Skiing', 'skiing'], 
         ['Reading','reading']], 
         {:multiple => true} %> 

Cependant, quand je regarde ma forme, je ne pense pas que ce soit travail. Il fait le menu déroulant .... mais comment puis-je sélectionner plusieurs entrées? J'essaye ctr + clic mais ça ne fait rien ... qu'est-ce qui me manque? Il ne cesse de sélectionner une seule valeur ...

Répondre

2

Jetez un oeil à the accepted answer to that question - la signature de méthode est:

select(:type, [data], {options hash}, {second options hash}) 

Et dans la réponse, il a multiple: true dans le second hachage d'options.

API dock for select_tag donne un indice sur ce que les deux différents hachages sont pour - il ressemble à la première des options hachage est pour « option_tags », et le second est pour « options »

+0

Oh wow. Ça m'a échappé. Merci! – ineedahero

+0

La chose importante à retenir ici est que si une fonction a plusieurs arguments de hachage, vous devez encapsuler vos arguments entre accolades afin de les séparer. 'select (type, data, options, {options})' ignorera l'argument de hachage final alors que 'select (type, data, {options}, {options})' ne sera pas –