2009-12-22 28 views

Respuesta

162

Muchos ayudantes de Rails toman múltiples argumentos hash. La primera es por lo general las opciones para controlar el ayudante mismo, y el segundo es el html_options donde specifiy ID personalizados, clases etc.

la definición del método se ve así:

collection_select(object, method, collection, value_method, text_method, options = {}, html_options = {}) 

Se dará cuenta de la multiple '= {}' en la lista de parámetros. Para utilizar esta, la primera serie de opciones que se especificaría en realidad debe estar encerrada entre llaves:

collection_select(:user, :title, UserTitle.all, :id, :name, {:prompt=>true}, {:class=>'my-custom-class'}) 

Si usted no tiene ninguna opción de especificar además de la clase html, a continuación, sólo hay que poner un marcador de posición de hash vacío:

collection_select(:user, :title, UserTitle.all, :id, :name, {}, {:class=>'my-custom-class'}) 

documentación adicional API está disponible en: http://apidock.com/rails/ActionView/Helpers/FormOptionsHelper/collection_select

+0

Ah, debería haber leído la documentación un poco más cerca :) – tybro0103

+0

Drew, buena respuesta. Borrando todas mis dudas con respecto a collection_select. –

+0

Aquí hay una extensión de esta respuesta que muestra cómo modificar el estilo .css y usar jQuery onchange events '<% = collection_select (: question,: text, Question.all,: id,: text, {: prompt => 'Select Question. .. '}, {: class =>' input ',: name =>' normalSelect ',: id =>' normalSelect ',: style =>' width: 50% ',: onchange => "$ (' # acordeón '). acordeón (' activar ', 2); $ (' # ciego '). mostrar (' ciego ', 500) "})%>' – wantrapreneur

8
= f.collection_select :category_id, Category.order(:name), :id, :name, {}, {class: "store-select"} 
Cuestiones relacionadas