現在seedファイルでデータを作成していますが、うまくいきません(m_ m)
userテーブルのデータを作成し、それを元に別テーブル(cartitem)のデータを作る際にエラーが発生します。
わかる方がいらっしゃれば教えていただきますようよろしくお願いいたします(m _m)
###エラー内容
bash
1NoMethodError: undefined method `created_at' for nil:NilClass
- ループしている時はエラーが発生せずレコードが作成されている
- ループが終了すると上記のエラーが発生する
- データベースには保存されている
###期待する動作
- エラーが発生せずに
db:seed
コマンドを完了・終了したい - cartitemのレコード作成日がuserデータ作成後の10分後に作成されたようなレコードを作成したい
###動作環境
Ruby:2.4.5
Ruby on Rails: 4.2.11
###該当のソースコード
ruby
1# db/seeds.rb 2 3# ユーザーデータの作成 4users = [] 5user_count = 0 6 710.times do 8 user_count += 1 9 users << User.create!( 10 name: "ユーザー #{user_count.to_s}", 11 withdrawal: nil, 12 created_at: t.ago((3 - g).years)- h.day 13 ) 14end 15 16# 別で作成してあります 17item_count = 100 18 19# カート商品の作成 20user_count.times do |i| 21 22 cartitem = Cartitem.create!( 23 user_id: nil, 24 item_id: rand(1..item_count), 25 quantity: rand(1..4), 26 order_id: nil, 27 created_at: users[i + 1].created_at + 10 * 60, 28 updated_at: users[i + 1].created_at + 10 * 60 29 ) 30end
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/02/24 01:39
2019/02/24 01:49
2019/02/24 01:53
2019/02/24 02:07
2019/02/24 02:47
2019/02/24 02:55
2019/02/24 02:59
2019/02/24 03:19