Ruby on rails 为<;设置HTML选项;选项>;选择标签中的标签

Ruby on rails 为<;设置HTML选项;选项>;选择标签中的标签,ruby-on-rails,erb,Ruby On Rails,Erb,在以下雇员再培训局: <%= form_for @my_model do |f| %> <%= f.select :my_attribute, options_from_collection_for_select(@my_options, :attribute, :name), {class: "select-style"} %> <% end %> 最后的HTML选项将应用于注入的HTML中生成的标记。如何提供将应用于注入的标记的HTML样式选项

在以下雇员再培训局:

<%= form_for @my_model do |f| %>
  <%= f.select :my_attribute, options_from_collection_for_select(@my_options, :attribute, :name), {class: "select-style"} %>
<% end %>

最后的HTML选项将应用于注入的HTML中生成的
标记。如何提供将应用于注入的
标记的HTML样式选项


Rails文档,但不适用于使用“收藏”中的“选项”进行“选择”时,我认为此选项不可用。 您可以这样做:

-但它很难看

只需选择以下选项即可:


有趣的问题。您从哪里获得html选项?
比方说,您希望所有选项都有一个静态类:

<%= f.select :my_attribute, options_from_collection_for_select(@my_options.map{|o| [o.attribute,{class: 'select-style'},o.name], :first, :last) %>

[o.attribute,{class:'style'},o.name]
还是
[o.attribute,o.name,{class:'style'}]
?您和@Theshalt在这一点上存在分歧。select的
options\u的描述是:
给定一个容器,其中元素响应first和last(如两个元素数组),“lasts”作为选项值,“firsts”作为选项文本。但是:它首先删除所有哈希,因此每个元素中只剩下两个元素。这就是@TheShalit的解决方案也起作用的原因。它是
[o.attribute,{class:'style'},o.name]
还是
[o.attribute,o.name,{class:'style'}]
?你和@MartinM在这一点上有分歧。没关系,你可以在数组中放入任意多的哈希值。我更喜欢把重点和价值放在第一位。
<%= f.select :my_attribute, options_for_select(@my_options.map{|o| [o.name,{class: 'select-style'},o.attribute]) %>