前提・実現したいこと
アカウントを作り投稿した後に、再度ホーム画面(index)ビューに戻ろうとしたときにエラーが出た。
発生している問題・エラーメッセージ
NoMethodError in Products#index undefined method `user_id' for nil:NilClass
該当のソースコード
_
1<div class="contents row"> 2 <% if user_signed_in? && current_user.id == @product.user_id %> 3 <div class="more"> 4 <ul class="more_list">
class ProductsController < ApplicationController before_action :set_product, only: [:edit, :show] before_action :move_to_index, except: [:index, :show] def index @products = Product.includes(:user).order("created_at DESC") end def new @product = Product.new end def create Product.create(product_params) end def destroy product = Product.find(params[:id]) product.destroy end def edit end def update product = Product.find(params[:id]) product.update(product_params) end def show @comment = Comment.new @comments = @comment.comments.includes(:user) end private def product_params params.require(:product).permit(:product, :price, :exp_text, :image).merge(user_id: current_user.id) end def set_product @product = Product.find(params[:id]) end def move_to_index unless user_signed_in? redirect_to action: :index end end end
試したこと
補足情報(FW/ツールのバージョンなど)
rails 6.0
「アカウントを作り投稿した後に、再度ホーム画面(index)ビューに戻ろうとした」のはどのactionですか? cerate? ここにはindeexへのrenderがないですね?
あなたの回答
tips
プレビュー