user showアクションで
class UsersController < ApplicationController def show @user = User.find(params[:id]) ##この行でエラーが出る @prototype = @user.prototypes end end
routes.rb Rails.application.routes.draw do devise_for :users root to: "prototypes#index" resources :prototypes do resources :comments end resources :users, only: :show end
users_controller.rb class UsersController < ApplicationController def show @user = User.find(params[:id]) @prototype = @user.prototypes end end
<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"> <%= "#{@user.name}さんのプロトタイプ"%> </h2> <div class="user__card"> <%# 部分テンプレートでそのユーザーが投稿したプロトタイプ投稿一覧を表示する %> <%= render partial: "prototypes/prototype", collection: @prototype%> </div> </div> </div> </div>
ソースコードは上記になります。
エラーの箇所を
@user = User.find(1)
と書いてあげるとID=1のユーザー情報が表示されることを確認しています。
データベースからログインしているユーザーといったように取得したいです。
どなたご教授よろしくお願いします。
エラーの出るページへ、どのようにアクセスしましたか?
回答1件
あなたの回答
tips
プレビュー