Potepan-sgtom / rails_kadai4_hotel_service

ポテパン課題 RubyonRails 宿泊予約サービスアプリ作成
0 stars 0 forks source link

「Couldn't find Spree::Product without an ID」を解消したい。 #8

Open Potepan-sgtom opened 1 year ago

Potepan-sgtom commented 1 year ago

1. やりたいこと

Spree::Productにidがないと言われているため、idが出るようにしたい。

2. 現状把握

商品情報を写真つきで一覧ページから詳細ページに飛んで選んだものがきちんと表示されるようにしたい

→そのため、一覧ページから詳細ページへ移るためのパスを前回連絡した時に書いた。

→しかしその先で、詳細ページそのものが表示されなかった。どうやらエラー内容は表題のものらしい。

3. 原因の特定

そのまま読むと、Spree::Productテーブルにはidが存在しないということらしい。

➀まずrails cで確かめる → きちんとidは存在している。

➁そもそもルーティングをsingle_productとしているため、indexとshowを複合しているからidの取得をする必要がないのでは? → @products = Spree::Product.allとしてみるとエラーは解消されるが、画面はテンプレのまま。

他にもgemfileに色々追加したり、bundle installしたりしてみたが変わらず原因の特定に至らず。

4. 解決手段

➀代替となる変数なり引数なりを用意する。 ➁viewファイルに何かしらアプローチをする(何を変えれば何が変わるかがわからないので保留) ③Spree::Productを追求する。

※他に方法があれば知りたいけど、ピンポイントで同じこと悩んでいる人がネット上にいないので、類似の質問などを見ても全く関連性がわからない。つまり応用できない。