如何将 factory_girl 用于调试数据

How to use factory_girl for debug data

我用Rails4.

固定装置

我使用 fixtures 作为 调试数据

但是
$ bin/rake db:fixtures:load FIXTURES_PATH=spec/fixtures
不是 运行 before_validation 和其他回调。

factory_girl

我使用 factory_girl 进行 测试

喜欢 $ bundle exec rspec spec/models/foo_spec.rb.

种子

我知道如何在 seed
中使用 factory_girl $ bundle exec rake db:seed

但我只想将 seed 用于 主数据 .

问题

如何使用 factory_girl 获取 调试数据 。我使用什么命令?(rake ??spec 或其他命令?)

创建一个使用工厂创建调试数据的 rake 任务。例如,如果您有一个名为 Report:

的模型(和相应的工厂)
namespace :db do
  desc "Fill database with debug data"
  task :debug_data => :environment do

  puts "Destroy existing data?"
  if STDIN.gets.chomp.upcase == 'Y'
    if Rails.env.production?
      raise "\nI'm sorry, Dave, I can't do that.\n(You're asking me to drop your production database.)"
    end
    Report.destroy_all
  end

  FactoryGirl.create(:report, name: 'Fred')
  FactoryGirl.create(:report, name: 'Barney')
end

将此文件放在:lib/tasks/debug_data.rake 执行它使用: bundle exec rake db:debug_data