1

如何将此:project_pages_id => 1值更改为自动递增?

  user.projects.create!(:title => Faker::Lorem.sentence(1), :project_pages_id => 1)
4

3 回答 3

3
10.times do |n|
  user.projects.create!(:title => Faker::Lorem.sentence(1), :project_pages_id => n
end
于 2011-01-18T02:56:55.253 回答
1

该 project_pages_id 是否打算成为外键?如果是这样,您为什么要自动递增它以使其具有 nil 关联?

看起来您正在尝试创建种子数据。一个很好的方法是使用 Factory Girl:

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"
于 2011-01-18T05:18:52.247 回答
1

您需要遍历一个数组,例如:

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)}

我敢肯定还有其他方法,但这又快又脏,而且只是一个测试。

于 2011-01-18T02:31:09.850 回答