質問: ### 前提・実現したいこと rails tutorialで勉強を進めている途中、/signupを読み込もうとすると、_error_messages.html.erbの一行目、<% if @user.errors.any? %>の'errors'がundefined method `errors' for nil:NilClassというエラーに引っかかってしまいます。 ### 発生している問題・エラーメッセージ NoMethodError in Users#new Showing /home/ubuntu/environment/sample_app/app/views/shared/_error_messages.html.erb where line #1 raised: undefined method `errors' for nil:NilClass ### 該当のソースコード <% if @user.errors.any? %> The form contains <%= pluralize(@user.errors.count, "error") %> <% @user.errors.full_messages.each do |mag| %> <%= mag %> <% end %> <% end %> ### 試したこと rails tutorialの通りに進めているので、スペルミスなどを見つけるために復習がてら様々なファイルを確認しましたが、どこもおかしいところはなく、、 初心者なのでどのようにすればよいかわかりません、、 User.newは引数なしで呼ぶとすべての属性がnilで帰ってくるとrails tutorial に書いてありましたが、それも関係しているのでしょうか。 ### 補足情報(FW/ツールのバージョンなど) ここにより詳細な情報を記載してください。
回答: まずはソースコードについては、下記のようなフォーマットを使いましょう。ボタンでできます。 ``` @user.errors ``` undefined method `errors' for nil:NilClass というのは、errorsを呼び出しているオブジェクトがnilだよということで、今回の場合だと@userがnilということです。 チュートリアルの内容は覚えていませんが、 コントローラーで@userにUserモデルのインスタンスを作成する流れになっていると思うので、 コントローラーで@userに値をセットする部分を確認してみてください。