####起きてしまっているエラー
実装中の一部haml
.ItemBox__optionalArea
%ul
%li.optionalBtn.likeBtn
%i.fas.fa-star
お気に入り 0
%ul.optional
%li.optionalBtn
= link_to "#" do
%i.fas.fa-flag
不適切な商品の通報
= link_to '商品を削除する', item_path(item.id), method: :delete
最下部のlink_toを表示させたかったが、NameErrorが出てしまう。
pathもあっているし、HTTPメソッドも問題なく記述しているため。
???となる。
####解決法
items_controller
class ItemsController < ApplicationController
def index
@items = Item.all
end
def new
@item = Item.new
@item.images.new
end
def create
@item = Item.new(item_params)
if @item.save
redirect_to root_path
else
@item.images.new
render :new
end
end
def show
@item = Item.find(params[:id])
end
#こちらshowアクションを追記
def destroy
items = Item.find(params[:id])
item.destroy
end
private
def item_params
params.require(:item).permit(:name, :text, :price, :category, :condition, :postage_payer, :prefecture_id, :standby_day, :trading_status, :seller, :buyer, images_attributes: [:image_url]).merge(seller: current_user.id)
end
end
実装中の一部haml
= link_to '商品を削除する', item_path(@item.id), method: :delete
該当の部分にコントローラーに定義した@itemを記述
####原因
そもそもitems controllerにshowアクションが記述されていなかった
初歩的なミスであったため、もう少し入念にみることを心がける様にします。