【チーム開発】本日の進歩状況2020-07-13
・本日の作業
まず昨日のエラー解決から。
エラーのことはエラー文に書いてあるとはよく言ったもので、昨日のエラーも本当にそのまま書いてありました。
「ActiveRecord::RecordNotFound in ProductsController#get_category_children」
「Couldn't find Product without an ID」
要約するとProdoctsControllerのget_category_childrenでProductのIDが見つかりませんよっていうエラーでした。
何でProductのID探してるんだろうと思ったのですが、コードをよくよく見返してみると、before_actionでset_product(productの登録情報を取得してくるメソッド、private以下に記述していた)を設定していたなーっと。exceptで対象決めていたのでcategory実装時に作ったget_category_childrenは記述していませんでした。
exceptの中にget_category_childrenともう一つ作成していたメソッドを記述したらエラーはなくなり、無事非同期で動的変化選択ボックスを実装することができました。
できたと思い早速投稿だーっと項目を全部入力した後、出品ボタンを押して保存できるか確認したのですが保存できず。。。
parameterは全部送られているようだったので何が原因か全然分からず、メンターさんにチャットで相談、すぐ原因を指摘してくれました。
やはりエラー文、コンソールだけでなくターミナルの方も良く見ないといけないようです。とは言っても自分で見てても全然わからなかった。メンターさんってやっぱり凄いです。
エラーの原因がselectフォームの選択肢に指定していた@category_parent_arrayをcreateアクション内で定義していなかったことが原因だったようです。
原因がわかったのであとは解消法を考えるだけなのですが、それがまた時間かかりました。
ただ単純にnewしてparamsくっつければ良いわけではないだろうしどうすれば良いのかといろいろ探しまくりました。で、見つけたのがこの記事
https://qiita.com/manbolila/items/7c44142de50093470580
まんま同じ物を作成しているんですけど、先日見つけた記事とは実装方法が少し違いました。
これをヒントにちょこちょこ変更したらJavaScriptの動作も商品情報の登録もできました。
で、参考記事とかメルカリとかいろいろ見てて気付いたのですが
本家ではカテゴリーの孫要素まで選択すると、サイズっていう入力欄が出てくるようになっているようです!?追加実装でいいかな?ダメかな?
取り敢えず明日は画像投稿欄の表示の修正をしたいと思います。
今の状態だと画像を登録すると変なところに画像がきてしまうのでJavaScript、HTML、CSSを見直す必要があるので。
上手くできるか不安だけど、いい勉強になると思って頑張ろ!