【Rails】seedファイル使い方
はじめに
学習中の備忘録です。
概要
- 通常のデータ登録
- ancestryを使用した際のデータ登録
前提
Rails 5.2.4.2
通常のデータ登録
今回は格言をランダムで表示する為に、messageテーブルにcontent,author,descriptionを登録する。
seeds.rb
Message.create([{content: "自分自身を信じて~", author: "ゲーテ", description: "ドイツの詩人"},
{content: "たいていの人は~", author: "バーバラ・ブラハム", description: "米国の女性ビジネスコンサルタント"},
#~省略~
{content: "人間のほほえみ~", author: "マザー・テレサ", description: "カトリック教会の修道女、ノーベル平和賞受賞"}
])
rails db:seedを実行
ターミナル
% rails db:seed
ancestryを使用した際のデータ登録
以前フリマアプリを作成した際の多階層categoriesテーブル(親・子・孫)
※ancestryについては別記事で。先にインストールしてください。
seeds.rb
#親カテゴリーのnameカラムを登録し、子カテゴリー登録のためにそれぞれ変数に代入。
lady, men, baby_kids, interior_housing, book_music_game, toy_hobby_goods, cosme_perfume_beauty, appliance_smartphone_camera, sports_leisure, handmade, ticket, car_motorcycle, others
= Category.create([{name: "レディース"}, {name: "メンズ"}, {name: "ベビー・キッズ"}, {name: "インテリア・住まい・小物"}, {name: "本・音楽・ゲーム"}, {name: "おもちゃ・ホビー・グッズ"}, {name: "コスメ・香水・美容"}, {name: "家電・スマホ・カメラ"}, {name: "スポーツ・レジャー"}, {name: "ハンドメイド"}, {name: "チケット"}, {name: "自動車・オートバイ"}, {name: "その他"}
])
#"レディース"の子カテゴリーに"トップス"を登録し、孫カテゴリー登録のために変数に代入。
lady_1 = lady.children.create(name: "トップス")
#"トップス"の子カテゴリーに各カテゴリー登録。
lady_1.children.create([{name: "Tシャツ/カットソー(半袖/袖なし)"},
{name: "Tシャツ/カットソー(七分/長袖)"},
{name: "シャツ/ブラウス(半袖/袖なし)"},
#~省略~
{name: "その他"}])
#以下登録したいカテゴリーの数だけ続ける
lady_2 = lady.children.create(name: "ジャケット/アウター")
lady_2.children.create([{name: "テーラードジャケット"},
{name: "ノーカラージャケット"},
#~続く~
rails db:seedを実行
ターミナル
% rails db:seed
まとめ
別モデルのデータを一つのファイルにまとめて記述しても問題なく登録できます。
が、ファイルを分けた方が良いみたいですので、それはまた別の機会にします。
Author And Source
この問題について(【Rails】seedファイル使い方), 我々は、より多くの情報をここで見つけました https://qiita.com/hiroaki_nkj/items/c1c4186f3ec6b80440bd著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .