我是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:
如果您在不从下拉列表中选择值的情况下提交表单,我预计会显示验证错误。
注意:如果我删除下拉列表,我的“创建”表单可以正常工作。
我很感激任何人的帮助,他们可以告诉我我做错了什么。
谢谢!
答案 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...'}) %>
现在一切正常!