ruby-on-rails - 在rake任务中使用factory_girl-获取未初始化的常量

标签 ruby-on-rails rake factory factory-bot

我正在尝试在rake任务中使用Factory Girl,如下所示:

require 'factory_girl'
require File.expand_path("spec/factories.rb")

namespace :users do

  desc "Create sample users for use in development" 
  task :create_sample_users => :environment do
    Factory(:user, :email => "pending@acme.com")
    Factory(:approved_user, :email => "user@acme.com") 
  end

end

但是,当我运行rake users:create_sample_users时,出现错误uninitialized constant Entry(Entry是我的应用程序类别之一的名称)。

谁能告诉我如何让Factory girl观看我的类(class)?在我的测试中,它工作正常,只是在我的rake任务中失败了。

最佳答案

我猜想在需要工厂时,Rails尚未加载您的模型。试试这个:

require 'factory_girl'

namespace :users do

  desc "Create sample users for use in development" 
  task :create_sample_users => :environment do
    require File.expand_path("spec/factories.rb")
    Factory(:user, :email => "pending@acme.com")
    Factory(:approved_user, :email => "user@acme.com") 
  end

end

关于ruby-on-rails - 在rake任务中使用factory_girl-获取未初始化的常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8083464/

相关文章:

javascript - HTML select 中所选项目发生更改时如何处理事件

javascript - 使用 RoR 创建单页应用程序

python - 在 Travis CI 上卡住 Python 应用程序

javascript - rake 数据库 :create - Could not find a JavaScript runtime

java - 如何动态生成bean列表

ruby-on-rails - Ruby on Rails : Cucumber: how do I follow a link that opens a new window?

ruby-on-rails - heroku db :push showing invalid database url

vba - 在 VBA 中将参数传递给构造函数

ruby-on-rails-3 - 使用 Rake 0.9.0 的未定义方法 'task'

c# - IoC 容器是否取代了工厂的使用