30代プログラム初心者がWEBエンジニアになる

30代プログラム初心者が、WEBエンジニアになるまでの奮闘を書いていきます。

gem ancestry でカテゴリーデータを用意

こんにちは、ぐっちと申します。

SEEDファイルをファイル名指定で実行できる様になり、ようやくカテゴリーデータの用意に入りました。

category.rbファイルを作成し、テーブルに登録するデータを記述します。

ancestry では、.childrenと記述する事で親子関係が作成されます。

 

例)おもちゃカテゴリーがあり、男の子向け・女の子向け、男の子向けからプラモデル・ラジコンがあった場合

toys = Category.create(name: "おもちゃ")
boy = toys.children.create(name: "男の子向け")
boy.children.create([{name: "プラモデル"},{name: "ラジコン"}])
ledy = toys.children.create(name: "女の子向け、")

と記述する事で

f:id:Yamaguchi-T:20190913193801p:plain

この様なレコードが出来、ancestryカラムに自動で親のIDが入ります。

孫カテゴリーには 1/1 と親/子のIDが登録されます。

これによって1つのテーブルで、親・子・孫データが管理できるというわけです。

 

そしてひたすらカテゴリーデータを記述して、合計1328レコード分のデータが出来ました。カテゴリーデータ多すぎます……

 

大変でしたが、また1つ便利なgemの使い方が勉強出来ました。

 

ここまで読んでくださり、ありがとうございました。

 ツイッターで日々の学習をつぶやいています

@Yamaguc45844169