rails_perper的alt帮助?

时间:2009-08-05 15:37:00

标签: html ruby-on-rails ruby

我不明白如何使用select帮助程序执行该代码?

<select name="cube_name">
    <% @cube_names.each do |cube| %>
     <option value="<%= cube %>" <% if @cube_name == cube %> selected="selected"<% end %>><%= cube %></option>
    <% end %>
</select>

我有一个列表(@cube_names),并希望HTML选择框宽度列表的所有值和默认值(param @cube_name)应该被选中。

感谢。

1 个答案:

答案 0 :(得分:4)

select_tag帮助器不会自动设置您传递的项目的selected属性。它只是构建标签。使用类似的东西:

<%= select_tag("id_of_my_tag", @cube_names.map { |cn| "<option#{cn == cube ? " selected='selected'" : ""}>#{cn}</option>" }.join("")) %>

第一个参数是select标签的id,第二个是选项列表(这里通过将多维数据集名称映射到字符串,然后将数组连接成一个字符串来构建)。

您也可以使用options_for_select来构建字符串:

<%= select_tag("id_of_my_tag", options_for_select(@cube_names, cube)) %>