0

私は Ruby on Rails の初心者で、作成フォームのドロップダウンを使用して問題を抱えています。これは私が受け取るエラーです:

nil:NilClass の undefined method `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があります:

新しい設備

"Invalid Equipment!", :message => "You must fix the following fields:", :header_tag => :h3 %> --> 'サブカテゴリを選択...'}) %>

ドロップダウンから値を選択せず​​にフォームを送信すると、検証エラーが表示されると思います。

注: ドロップダウンを削除すると、作成フォームは正常に機能します。

私が間違っていることを教えてくれる人の助けをいただければ幸いです。

ありがとう!

4

1 に答える 1

0

元の select の変数 @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 に答える