プログラミング初学者です。
rails 6を用いて、投稿機能がついたアプリケーションを開発しているのですが、本番環境でのデモデータ作成についてわからないことがあります。
モデルにはuser, micropost, relationship, prefecture, splitを使っており、micropostはbelongs_toで、user, prefecture, splitをidで関連づけております。
micropostを作成した際に、content, user_id, prefecture_id, split_idを必須にしているのですが、prefecture_idとsplit_idをランダムにデモデータとして登録するにはどのように記述したらよろしいのでしょうか?
prefectureとsplitに関してはseed_fuで登録してあります。
以下がコードになります。
db/seeds.rb User.create!(name: "Example User", email: "example@railstutorial.org", password: "foobar", password_confirmation: "foobar", admin: true, activated: true, activated_at: Time.zone.now) 99.times do |n| name = Faker::Name.name email = "example-#{n+1}@railstutorial.org" password = "password" User.create!(name: name, email: email, password: password, password_confirmation: password, activated: true, activated_at: Time.zone.now) end users = User.order(:created_at).take(6) 50.times do prefecture_id = split_id = content = Faker::Lorem.sentence(word_count: 5) users.each { |user| user.microposts.create!(prefecture_id: prefecture_id, split_id: split_id, content: content) } end users = User.all user = users.first following = users[2..50] followers = users[3..40] following.each { |followed| user.follow(followed) } followers.each { |follower| follower.follow(user) }
db/fixtures/prefecture.rb Prefecture.seed(:id, { :id => 0, :name => "北海道" }, { :id => 1, :name => "青森県" }, { :id => 2, :name => "岩手県" }, { :id => 3, :name => "宮城県" }, { :id => 4, :name => "秋田県" }, { :id => 5, :name => "山形県" }, { :id => 6, :name => "福島県" }, { :id => 7, :name => "茨城県" }, { :id => 8, :name => "栃木県" }, { :id => 9, :name => "群馬県" }, { :id => 10, :name => "埼玉県" }, { :id => 11, :name => "千葉県" }, { :id => 12, :name => "東京都" }, { :id => 13, :name => "神奈川県" }, { :id => 14, :name => "新潟県" }, { :id => 15, :name => "富山県" }, { :id => 16, :name => "石川県" }, { :id => 17, :name => "福井県" }, { :id => 18, :name => "山梨県" }, { :id => 19, :name => "長野県" }, { :id => 20, :name => "岐阜県" }, { :id => 21, :name => "静岡県" }, { :id => 22, :name => "愛知県" }, { :id => 23, :name => "三重県" }, { :id => 24, :name => "滋賀県" }, { :id => 25, :name => "京都府" }, { :id => 26, :name => "大阪府" }, { :id => 27, :name => "兵庫県" }, { :id => 28, :name => "奈良県" }, { :id => 29, :name => "和歌山県" }, { :id => 30, :name => "鳥取県" }, { :id => 31, :name => "島根県" }, { :id => 32, :name => "岡山県" }, { :id => 33, :name => "広島県" }, { :id => 34, :name => "山口県" }, { :id => 35, :name => "徳島県" }, { :id => 36, :name => "香川県" }, { :id => 37, :name => "愛媛県" }, { :id => 38, :name => "高知県" }, { :id => 39, :name => "福岡県" }, { :id => 40, :name => "佐賀県" }, { :id => 41, :name => "長崎県" }, { :id => 42, :name => "熊本県" }, { :id => 43, :name => "大分県" }, { :id => 44, :name => "宮崎県" }, { :id => 45, :name => "鹿児島県" }, { :id => 46, :name => "沖縄県" } )
db/fixtures/split.rb Split.seed(:id, { :id => 0, :name => "胸" }, { :id => 1, :name => "背中" }, { :id => 2, :name => "肩" }, { :id => 3, :name => "腕" }, { :id => 4, :name => "脚" }, { :id => 5, :name => "腹筋" } )
ご教授お願いいたします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/04/19 09:21 編集