プログラミングスクールでアプリの作成中です。
ユーザー詳細ページのユーザー名、プロフィール、、その他のユーザー登録してあるものを表示しようとしているのですが、エラーで出てしまいます。NameError in Users#show undefined local variable or method `user' for #<#Class:0x00007fbdfb287628:0x00007fbdfb285418>
Did you mean? super 解決をお願いしたいです。
#users/show.html.erb <div class="main"> <div class="inner"> <div class="user__wrapper"> <h2 class="page-heading"> <%= user.name %> </h2> <table class="table"> <tbody> <tr> <th class="table__col1">名前</th> <td class="table__col2"><%= user.name %></td> </tr> <tr> <th class="table__col1">プロフィール</th> <td class="table__col2"><%= user.profile %></td> </tr> <tr> <th class="table__col1">所属</th> <td class="table__col2"><%= user.occupation %></td> </tr> <tr> <th class="table__col1">役職</th> <td class="table__col2"><%= user.position %></td> </tr> </tbody> </table> <h2 class="page-heading"> <%= render partial: 'prototypes/prototype', collection: @prototypes %> </h2> <div class="user__card"> <%# 部分テンプレートでそのユーザーが投稿したプロトタイプ投稿一覧を表示する %> </div> </div> </div> </div>
#users_cotroller.rb class UsersController < ApplicationController def show user = User.find(params[:id]) @prototypes = Prototype.all @prototypes = user.prototypes end end
試したこと
users/show.html.erbの<%= user.name %>を<%= @user.name %>に変更しusers_cotroller.rbのuser = User.find(params[:id])を@user = User.find(params[:id])に変更。
また、別のエラーが発生しました。
NameError in UsersController#show
undefined local variable or method `user' for #UsersController:0x00007fbe0828a3c0 Did you mean? @user
回答1件
あなたの回答
tips
プレビュー