我通过尝试使用一个简单的脚本填充我的数据库来生成测试数据,该脚本为我的模型创建了足够数量的记录来计算所有依赖项(特别是多态性)。
这是我的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个问题,比如说,“在西班牙旅行的最佳地点是什么?”以及每个段落的相同两段文字。
我错过了什么?
答案 0 :(得分:3)
所以我不确定Random
班来自哪里。但我总是使用Faker gem来做这些事情。
它有姓名,电子邮件,城市,电话号码:像这样:
Faker::Name.name
Faker::Address.uk_country
Faker::Lorem.paragraph
检查出来