0

我有以下代码来为下拉列表创建动态值

<% @sub_category.dropdown_heads.each do |label| %>
        <div class="input">
            <div class="input-label"><label for="login"><%= label.head_name %></label></div>
            <div class="input-txt">
                <% options = options_from_collection_for_select(label.dropdown_lists, id, list_name) %>
                <%= select_tag :test_name, options %>
            </div>
        </div>
    <% end %>

下面的代码有效

<% options = options_from_collection_for_select(@categories, 'id', 'name') %>
<%= f.select :category,  options %>

但是为什么上面的代码会抛出语法错误。如何修改我的代码以使其工作。

4

1 回答 1

1

选择标签:

select_tag :test_name,options_for_select(categories_options(@categories)), :style=>"styles goes here", :class=>"class added here"        

选项的格式为 [[key, value], [key, value]]

您可以使用 helper 生成它,并将其放入应用程序助手中:

def categories_options categories
  categories.inject([]) do |memo, cat|
    memo << [cat.name.titleize, cat.id]
  end      
end

所以它的格式像

select_tag name, select options, other options 
于 2013-10-27T08:42:02.303 回答