【发布时间】:2010-12-29 04:30:56
【问题描述】:
我似乎找不到将类添加到由 Rails collection_select 生成的选择标记的语法。有什么帮助吗?
【问题讨论】:
-
你能举一些你想做的例子吗?我不明白你的问题。
-
当然...我正在使用 rails 的 来生成: 我只是想要它是:
标签: html ruby-on-rails drop-down-menu
我似乎找不到将类添加到由 Rails collection_select 生成的选择标记的语法。有什么帮助吗?
【问题讨论】:
标签: html ruby-on-rails drop-down-menu
许多 Rails 助手采用多个哈希参数。第一个通常是控制助手本身的选项,第二个是您指定自定义 id、类等的 html_options。
方法定义如下:
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 类之外没有任何选项可以指定,那么只需放置一个空的 hash 占位符:
collection_select(:user, :title, UserTitle.all, :id, :name, {}, {:class=>'my-custom-class'})
其他 API 文档位于: http://apidock.com/rails/ActionView/Helpers/FormOptionsHelper/collection_select
【讨论】:
<%= collection_select(:question , :text, Question.all , :id, :text, {:prompt => 'Select Question...'}, {:class=>'input', :name=>'normalSelect', :id=>'normalSelect', :style=>'width:50%', :onchange=>"$('#accordion').accordion('activate',2);$('#blind').show('blind', 500)"}) %>
= f.collection_select :category_id, Category.order(:name), :id, :name, {}, {class: "store-select"}
【讨论】:
以防万一,我正在为同样的问题苦苦挣扎,我分享了我的结果,我只是尝试输入{},{},所以我必须更明确地输入: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>
问候!
【讨论】: