我有一个这样的工厂设置:
require 'faker'
FactoryGirl.define do
factory :user do |u|
u.sequence(:name) { |n| "User #{n}"}
u.sequence(:email) { |n| "user#{n}@example.com"}
u.password "password"
end
factory :student_group do |student_group|
sequence(:name) {|n| "class #{n}"}
end
end
还有一个填充我的数据库的 rake 任务:
require 'factory_girl_rails'
namespace :db do
desc "Fill db with sample data"
task :populate, :environment do
# reset the database
puts "Resetting the database"
Rake::Task['db:reset'].invoke
# create 100 users
puts "Creating users"
new_users = FactoryGirl.create_list :user, 100
#create 3 student_groups for each user
puts "Creating student groups for each user"
new_users.each do |u|
FactoryGirl.create_list :student_group, 3, :user_id => u.id
end
# success message
puts "The database has been populated successfully"
end
end
它运行正常,但所有电子邮件字段都填充了以下内容:---
- user3@example.com
- User 3
它只是工作 - 我不确定发生了什么变化,实际上我从我的 github 存储库中复制并粘贴了一些东西(这让我认为错误在其他地方) - 是什么导致电子邮件形成这样的?如果您需要更多文件,请问,我很困惑可能是什么问题。
编辑以确保错误不是来自数据库中遗留的东西,我确实 rake db:reset 并再次检查了 db 表......它是空的,所以不是那个!还在找。