2011-02-09 9 views
11

Miré How do I set the HTML options for collection_select in Rails? y estoy seguro de que me falta algo obvio, pero no puedo hacer que esto funcione.agregar clase a collection_select

Mi Selecto se ve actualmente como:

<%= f.collection_select :broadcast_id, broadcasts, :id, :to_s, 
    :include_blank => 'Broadcast on...' %> 

y he probado incluyendo : class => 'prevent_collapse', que no hace nada, así como {: class => 'prevent_collapse'}, lo que me da un error.

¡Si alguien puede señalar cómo hacerlo, le estaré muy agradecido!

Respuesta

22
collection_select(object, method, collection, value_method, text_method, options = {}, html_options = {}) 
=> 
f.collection_select :broadcast_id, broadcasts, :id, :to_s, 
{:include_blank => 'Broadcast on...'}, {:class => 'prevent_collapse'} 

¿Y qué error tienes?

Y el elemento de difusión tiene el método :to_s? Devolverá el nombre de la clase, como creo.

+2

gracias - ¡eso lo ha resuelto! Me estaba olvidando de poner: include_blank en {} – tiswas

+0

puedes irme así: "f.collection_select: broadcast_id, broadcasts,: id,: to_s, {}, {: class => 'prevent_collapse'}" No hay necesita agregar "include_blank" si no lo necesita. –

1

¿Es ese campo :include_blank => {}, obligatorio? Intenté con :include_blank => false y funcionó. Me pregunto si podemos evitarlo.

+0

Sí, puede omitirlo. Simplemente reemplace '{: include_blank => 'Broadcast on ...'}' con '{}'. –

Cuestiones relacionadas