私は工場を次のように設定しています:
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リポジトリからコピーして貼り付けました(エラーが他の場所にあると思います)-電子メールがこのように形成される原因は何ですか? さらにファイルが必要な場合は、尋ねてください。何が問題なのか、私はかなり混乱しています。
エラーがデータベースに残っているものではないことを確認するために編集して、db:resetをrakeし、dbテーブルを再度チェックしました...空だったので、そうではありません! まだ探しています。