:project_pages_id => 1
この値を自動インクリメントに変更するにはどうすればよいですか?
user.projects.create!(:title => Faker::Lorem.sentence(1), :project_pages_id => 1)
:project_pages_id => 1
この値を自動インクリメントに変更するにはどうすればよいですか?
user.projects.create!(:title => Faker::Lorem.sentence(1), :project_pages_id => 1)
10.times do |n|
user.projects.create!(:title => Faker::Lorem.sentence(1), :project_pages_id => n
end
次のような配列を反復処理する必要があります。
a = (1..10).to_a #or however many ID's you want.
a.each do {|d| user.projects.create!(:title => Faker::Lorem.sentence(1), :project_pages_id => d)}
他の方法もあると思いますが、これは迅速で汚いものであり、単なるテストです。
そのproject_pages_idは外部キーを意図していますか?もしそうなら、なぜあなたはそれがゼロの関連付けを持つようにそれを自動インクリメントするのですか?
シードデータを作成しようとしているようです。そのための良い方法は、FactoryGirlを使用することです。
https://github.com/thoughtbot/factory_girl
とりわけ、それはあなたの元の質問を解決する「シーケンス」の概念を持っています:
# Defines a new sequence
Factory.sequence :email do |n|
"person#{n}@example.com"
end
Factory.next :email
# => "person1@example.com"
Factory.next :email
# => "person2@example.com"