railsでwebアプリケーションを作っています。
ユーザーの一覧画面に飛ばしたいのですが、
NoMethodError in Users#indexのエラーが出てうまくユーザー情報がページに反映されません。
index.html.erb
<div class="container"> <div class="row"> <div class="col-3"> <div class="col"> <h1>User info</h1> <table class="table"> <thead> <tr> <th><%= attachment_image_tag @user, :profile_image, :fill, 100, 100, fallback: "no_image.jpg" %></th> <th></th> </tr> </thead> <tbody> <tr> <td>name</td> <td><%= @user.name %></td> </tr> <tr> <td>introduction</td> <td><%= @user.introduction %></td> </tr> </tbody> </table> </div> <div class="col"> <div class="profile-edit"> <%= link_to edit_user_path(@user), method: :get do %> <i class="far fa-user"></i> <% end %> </div> </div> <div class="col"> <h1>New book</h1> <div class="user-show-form"> <%= form_for (@book_new) do |f| %> <div class="show-form-title">Title</div> <div class="show-form-title2"><%= f.text_field :title %></div> <div class="show-form-opinion">Opinion</div> <div class="show-form-opinion2"><%= f.text_area :body %></div> <div class="show-form-submit"><%= f.submit 'Create Book' %></div> <% end %> </div> </div> </div> <div class="col-8"> <div class="user-index-title"> <h1>users</h1> </div> <% @users.each do |user| %> <table class="user-index-all"> <thead> <tr> <th>image</th> <th>name</th> <th></th> </tr> </thead> <tbody> <td><%= @user.name %></td> <td><%= attachment_image_tag @user, :profile_image, :fill, 100, 100, fallback: "no_image.jpg" %></td> <td> <%= link_to user_path(@user.id), method: :get do %> <p>show</p> <% end %> </td> </tbody> </table> <% end %> </div> </div> </div>
users.contolloer.erb
class UsersController < ApplicationController def index @users = User.all @user = current_user.id end def show @user = User.find(params[:id]) @book_new = Book.new @books = @user.books end def new end def edit @user = User.find(params[:id]) end def update @user = User.find(params[:id]) @user.update(user_params) redirect_to user_path(@user.id) end private def user_params params.require(:user).permit(:name, :profile_image, :introduction) end end
試ししたこと
・コードの確認
・エラー文の確認
追加情報
ログインしているユーザーの情報を取りたいため@user = current_user.id
このコードを書いたのですが、コードの書き方としては正しいのでしょうか?
お忙しいとは思いますが、回答よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/03/11 15:14
2021/03/11 15:27
2021/03/12 10:15