Ruby on Rails 3.2使用下拉列表创建错误

时间:2012-09-06 20:16:17

标签: ruby-on-rails ruby ruby-on-rails-3

我是Ruby on Rails的新手,并且在创建表单上使用下拉列表时遇到问题。这是我收到的错误:

nil的未定义方法`map':NilClass 提取的来源(第8行):

5 :: message => “你必须修复以下字段:”, 6 :: header_tag => :h3%> - > 7: 8:<%= f.select:subCategoryId,options_for_select(@subcategories_for_select,{:prompt =>'Select a SubCategory ...'})%> 9: 10:<%= f.label:name%> 11:<%= f.text_field:name%>

这是我的new.html.erb:

新设备

     “设备无效!”,                          :message => “你必须修复以下字段:”,                          :header_tag => :h3%> - >              '选择一个子类别......'})%>                                                                                         

如果您在不从下拉列表中选择值的情况下提交表单,我预计会显示验证错误。

注意:如果我删除下拉列表,我的“创建”表单可以正常工作。

我很感激任何人的帮助,他们可以告诉我我做错了什么。

谢谢!

1 个答案:

答案 0 :(得分:0)

我在原始选择中换出变量@subcategories_for_select以获取以下内容:

<%= select("SubCategory", "name", options_for_select(SubCategory.all.map{ |p| [p.name, p.id, {:class => p.category_id}] }), {:prompt => 'Select a SubCategory...'}) %>

现在一切正常!