5

我尝试使用一个简单的脚本来填充我的数据库,从而为我的模型创建足够数量的记录来考虑所有依赖关系(尤其是多态性),从而生成测试数据。

这是我的seeds.rb

require 'factory_girl_rails'

50.times do

  @user = FactoryGirl.create(:user)
  FactoryGirl.create(:contact, :user => @user)

  @question = FactoryGirl.create(:question, :user => @user)

  FactoryGirl.create(:user_answer, :question => @question, :authorable => @user)

  @contact = FactoryGirl.create(:contact, :user => @user)
  FactoryGirl.create(:contact_answer, :question => @question, :authorable => @contact)

end

例如,这里是question工厂:

FactoryGirl.define do
  factory :question do
    title       "What is the best place to travel in " + Random.country + "?"
    body        Random.paragraphs(2)
    association :user, :method => :build
  end
end

虽然Random该类确实产生了一个随机术语,但该术语对于创建的所有实例都保持不变。在这种情况下,我会收到 50 个问题,比如“西班牙最好的旅行地点是哪里?” 以及每个相同的两段文字。

我错过了什么?

4

1 回答 1

3

所以我不确定这Random门课是从哪里来的。但我总是用Faker gem 来做这些东西。

它包含姓名、电子邮件、城市、电话号码:像这样:

Faker::Name.name
Faker::Address.uk_country
Faker::Lorem.paragraph

看看这个

于 2012-02-07T08:44:26.023 回答