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