【チーム開発】本日の進歩状況2020-07-10

・本日の作業

昨日はカテゴリー以外のformを実装をしたのですが、出品ボタンを押してもデータが保存されませんでした。本日はどのカラムが悪さしているのを検証してみました。

enumで実装したconditonカラムとpostageカラムの部分が悪いのかbrandの作成方法が悪いのか、よく分からなかったため、データ保管の確認ができていた部分(画像、商品名)以外のマイグレーションファイル及び記述を削除(バリデーションもimagesモデルとproductsモデル以外のは一旦削除)し、どのカラムの保存ができないのか順番に検討することにしました。

結果としてはenumで実装したconditionとpostageカラムは特に問題なかく保存されていました。ターミナルに表示されているParametersは英字だったのですが実際データベースに保存されているのは数字でした。enumで上手く変換してくれているみたいです。

・今後の課題

brandモデルへの保存をどうすれば良いのか悩んでいます。

fields_forでbrandsテーブルにデータを入力することはできると思うのですが、どうproductsテーブルと関連づけていけば良いのかがわかりません。1対1でそのままデータを直結させるなimagesでも使った accepts_nested_attributes_forでいける気がするのですが、brandが1でproductが多の場合はそう単純にいかない気がします。

発送元の地域のようにselectで選択する方式にしてしまえば簡単ですが、それだと面白くないですし。

いろいろ調べてみるとタグつけの方法を見つけました。Qiitaのタグのように、入力もできるし、入力途中で同じような内容を選択できるようにする方法のようです。今回はこれに近い気がします。そうなると中間テーブルを作成する必要がありそうです。

https://qiita.com/tobita0000/items/daaf015fb98fb918b6b8

 

明日また挑戦していこうと思います!