2009-12-22 16 views

risposta

162

Molti helper di Rails accettano più argomenti hash. Il primo è di solito le opzioni per controllare l'aiutante stesso, e il secondo è il html_options dove si specifiy ID personalizzati, corsi ecc

La definizione del metodo è simile al seguente:

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

Noterete la multiplo '= {}' nell'elenco dei parametri. Per utilizzare questo, la prima serie di opzioni che si dovrebbe specificare deve effettivamente essere racchiuso tra parentesi graffe:

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

Se non si dispone di alcuna opzione per specificare oltre alla classe HTML, quindi basta mettere un segnaposto hash vuoto:

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

Ulteriore documentazione API è disponibile all'indirizzo: http://apidock.com/rails/ActionView/Helpers/FormOptionsHelper/collection_select

+0

Ah, avrei dovuto leggere la documentazione un po 'più vicino :) – tybro0103

+0

Drew, bella risposta. Schiarendo tutti i miei dubbi in merito a collection_select. –

+0

Ecco un'estensione di questa risposta che mostra come modificare lo stile .css e utilizzare gli eventi di jQuery onchange '<% = collection_select (: domanda,: testo, Question.all,: id,: text, {: prompt => 'Seleziona domanda. .. '}, {: class =>' input ',: name =>' normalSelect ',: id =>' normalSelect ',: style =>' width: 50% ',: onchange => "$ (' # fisarmonica '). accordion (' activate ', 2); $ (' # blind '). show (' blind ', 500) "})%>' – wantrapreneur

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