0

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

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

5: :message => "您必须修复以下字段:", 6: :header_tag => :h3 %> --> 7: 8: <%= f.select :subCategoryId, options_for_select(@subcategories_for_select, {:prompt => '选择一个子类别...'}) %> 9: 10: <%=f.label :name%> 11: <%=f.text_field :name%>

这是我的 new.html.erb:

新设备

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

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

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

我将不胜感激任何可以向我展示我做错了什么的人的帮助。

谢谢!

4

1 回答 1

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...'}) %>

现在一切正常!

于 2012-09-06T21:48:58.813 回答