チーム開発6日目 カテゴリデータ投下地獄 ~メソッド組む難しさ~ / gem 「ancestry」導入

こんにちは、

初めましてMasaです。

 

チーム開発6日目

カテゴリデータの投下

 

昨日に引き続き本日も

カテゴリ機能の、下準備。

 

というのもカテゴリは製作者側が提供しなければならないので

seed.rbにデータを書き込んで入れなければならない。

 

数百あるカテゴリを

階層構造で紐づけて書かなければなカテゴリとしての機能を持たない

そこで色々調べて

テーブルの構造に

経路列挙モデルというのを採用してみた

ancestryというgemが便利で

この記事と

https://qiita.com/NAKANO_Akihito/items/d42a6ceae40933af2352

この記事を

https://qiita.com/Sotq_17/items/120256209993fb05ebac

参考に導入してみた。

githubはこちら

https://github.com/stefankroes/ancestry

 

うまいこと使えて

f:id:masataka_sugita:20190530213340p:plain

このように投下できた

f:id:masataka_sugita:20190530213533p:plain

このコードで

f:id:masataka_sugita:20190530213627p:plain

これが再現できて

「いい感じ!もしかしてこれが保守性か?メンテナンスのしやすさか!?」

と思っのもつかの間・・・

 

子カテゴリどうするんや・・・汗

子カテゴリをテーブルに投下するに必要な要素として

f:id:masataka_sugita:20190530214547p:plain

・親投下した際の変数(上で言うlady)

・投下物(上で言うトップスとか)

 

これが親カテ×子カテ分ある

さすがにベタガキは非効率だなと思い

 

メソッドを組んでみたが

これが難しい。。。

引数に色々持って来なければならなくて

each文で回すにも限界があった

 

無理くりメソッド組んで引数私まくって条件分岐しまくればなんとかして

できるかもしれなかったが

とてもじゃないが解読できたもんではない・・

他の人からみて絶対に解読できない

明日になったら自分でも解読できないのではないか

 

そもそも

子カテでそれなら孫カテはどうなるんだ・・・

と思い無理にメソッドを組むのはやめて

めんどくさいがメソッドより見やすいベタガキを選んだ。

 

悔しかった。

結局負けてしまったが

自分でメソッドを考えて

デバッグして色々思考錯誤する過程は本当に楽しいかった

本家であるメルカリは絶対にいい感じのメソッドを組んで

追加でカテゴリが増えても大丈夫なようになっているはずと思うので

 

今回のこのカテゴリの初期データ投入は頭の片隅に置いていいて

これからスキルアップしていつかリベンジする。

 

本日の学習時間10時間。

明日は予定があるので作業できるかわからないが

隙間時間に業界のこと会社のことなどを調べ

 

就活の準備をしていこうと思ういます

 

最後まで読んでいただきありがとうございました!