user_idを取得したいがエラーが出てしまいます。
【books_controller.rb】 class BooksController < ApplicationController before_action :move_to_index, except: [:index] def index @books = Book.includes(:user).order("created_at DESC").page(params[:page]).per(5) end def new @book = Book.new end def create Book.create(image: book_params[:image], title: book_params[:title], author: book_params[:author], Janru: book_params[:Janru], price: book_params[:price], shop_link: book_params[:shop_link], user_id: current_user.id) end private def book_params params.require(:book).permit(:image, :title, :author, :Janru, :price, :shop_link) end def move_to_index redirect_to action: :index unless user_signed_in? end end 【index.html.erb」 <div class="contents-row"> <% @books.each do |book| %> <div class="book-box"> <div class="book-img"> <img src="<%= book.image %>" alt="紹介書籍" class="produce-book"> </div> <div class="book-detail"> <p class="book-label"><%= book.title %></p> <p class="book-label"><%= book.author %></p> <p class="book-label"><%= book.Janru %></p> <p class="book-label">¥<%= book.price %></p> <p class="book-label"><%= link_to "購入サイトへ", "#{book.shop_link}", class: "shop_link" %></p> <span class="user-name"> <p class="book-label">投稿者 : <%= link_to "#{book.user.nickname}", user_path(current_user), class: "shop_link" %></p> </div> </div> <% end %> <%= paginate(@books) %> </div>
前提・実現したいこと
ここに質問の内容を詳しく書いてください。
(例)PHP(CakePHP)で●●なシステムを作っています。
■■な機能を実装中に以下のエラーメッセージが発生しました。
発生している問題・エラーメッセージ
No route matches {:action=>"show", :controller=>"users", :id=>nil}, missing required keys: [:id]
Showing /home/ec2-user/environment/knowledge-space/app/views/books/index.html.erb where line #25 raised: No route matches {:action=>"show", :controller=>"users", :id=>nil}, missing required keys: [:id]
該当のソースコード
<p class="book-label">投稿者 : <%= link_to "#{book.user.nickname}", user_path(current_user.id), class: "shop_link" %></p>
試したこと
<p class="book-label">投稿者 : <%= link_to "#{book.user.nickname}", user_path(current_user), class: "shop_link" %></p></div>user_pathの引数に(current_user.id)を入れたり引数を消したりするも解決せず。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。