我似乎无法找到将类添加到由Rails collection_select
生成的select标记的语法。一些帮助?
答案 0 :(得分:175)
许多Rails助手都会使用多个哈希参数。第一个通常是控制帮助器本身的选项,第二个是html_options,您可以在其中指定自定义ID,类等。
方法定义如下所示:
collection_select(object, method, collection, value_method, text_method, options = {}, html_options = {})
你会注意到参数列表中的多个'= {}'。要使用它,您指定的第一组选项实际上必须用大括号括起来:
collection_select(:user, :title, UserTitle.all, :id, :name, {:prompt=>true}, {:class=>'my-custom-class'})
如果除了html类之外没有任何指定选项,那么只需添加一个空的哈希占位符:
collection_select(:user, :title, UserTitle.all, :id, :name, {}, {:class=>'my-custom-class'})
其他API文档可在以下位置获得: http://apidock.com/rails/ActionView/Helpers/FormOptionsHelper/collection_select
答案 1 :(得分:8)
= f.collection_select :category_id, Category.order(:name), :id, :name, {}, {class: "store-select"}
答案 2 :(得分:0)
以防万一,我遇到了同样的问题,我分享了我的结果,我只是尝试放置 {},{}
,所以我必须更明确地放置这样的:options = {}, html_options = {}
,因为它对我不起作用。
<div class="field">
<%= form.label :country_id %>
<%= form.collection_select :country_id, @countries,:id, :name, options = {:prompt => 'Select a Country...'},
html_options = {class: "dropdown"}%>
</div>
问候!