teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

エラーメッセージに対応する箇所の説明を追記

2021/08/13 01:23

投稿

mingos
mingos

スコア4312

answer CHANGED
@@ -10,6 +10,17 @@
10
10
  このコードだと、@categoriesに代入するコードは書かれていませんよね。
11
11
  そうすると、@categoriesの値はnilとなるので、nil.each do ~ endというのは当然エラーとなります。
12
12
 
13
+ > undefined method `each' for nil:NilClass
14
+
15
+ これはビューのここ@categoriesがnilであるという意味です。
16
+ だいたいコントローラで値を設定していない事が原因です。
17
+
18
+ ```ruby
19
+ <%= @categories.each do |category| %>
20
+ ...
21
+ <% end %>
22
+ ```
23
+
13
24
  最初のアクセスはnewアクションで、
14
25
  フォームの送信ボタンを押して送信するとcreateアクションが実行されるので、
15
26
  掲示されたコードの場合は、new, createの両方で@categoriesに値を設定しなければいけません。