Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 带有动态值的rails组合框_Ruby On Rails_Ruby On Rails 3_Ruby On Rails 4 - Fatal编程技术网

Ruby on rails 带有动态值的rails组合框

Ruby on rails 带有动态值的rails组合框,ruby-on-rails,ruby-on-rails-3,ruby-on-rails-4,Ruby On Rails,Ruby On Rails 3,Ruby On Rails 4,我有以下代码为下拉列表创建一个动态值 <% @sub_category.dropdown_heads.each do |label| %> <div class="input"> <div class="input-label"><label for="login"><%= label.head_name %></label></div> <d

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

<% @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 %>

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

选择标记:

select_tag :test_name,options_for_select(categories_options(@categories)), :style=>"styles goes here", :class=>"class added here"        
选项的格式为[[key,value],[key,value]]

您可以使用helper生成它并将其放入application helper中:

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

发布准确的错误消息。@stevanity
未定义的局部变量或方法
id'`这是错误消息OK获得了输出,但在
附近发生了什么事。inject
meme当然,这里有一个参考,它的数组inject的ruby函数类似于针对特殊需要的循环put,第一个参数([])是块内的memo初始化。如果对一些数字求和,则可能是(0)。memo现在是数组[],该数组在第一个参数中进行了初始化,用于注入,并且(
select_tag name, select options, other options