【问题标题】:Rails Console requiring Factory Girl fails需要 Factory Girl 的 Rails 控制台失败
【发布时间】:2019-02-16 02:32:40
【问题描述】:

我知道 FactoryGirl 已被弃用,取而代之的是 FactoryBot,但我们尚未更新代码,因此我们仍在使用 FactoryGirl。无论如何,在 Rails 控制台中要求 FactoryGirl 应该可以工作,但它不是。

gem 已正确包含在我的 Gemfile 中

group :test, :development do
   ...  
  gem 'factory_girl_rails', '~> 4.9.0'
   ...
end

当我运行bundle时它会出现

$ bundle | grep factory
Using factory_girl 4.9.0
Using factory_girl_rails 4.9.0

但是当我在控制台中需要它时,它会失败。

[1] pry(main)> require 'factory_girl_rails'
=> false
[3] pry(main)> require 'factory_girl'
=> false

我的 Gemfile 中的任何其他 gem 似乎都不会发生这种情况。谁能帮我解决这个问题?

【问题讨论】:

  • require 将返回 false 如果库已经加载到 LOAD_PATH 这不是失败。

标签: ruby-on-rails ruby factory-bot rails-console


【解决方案1】:

require 返回false 时,这并不意味着发生了错误。这意味着该功能已经加载。

来自documentation of require

require(name)truefalse

加载给定的name,如果成功则返回true,如果功能已加载则返回false

require 无法加载该功能时,它将引发LoadError

【讨论】:

    【解决方案2】:

    它返回false,因为它已经被需要并加载了。试试看

    FactoryGirl

    验证常量是否存在

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-28
      • 2012-06-12
      • 2012-11-12
      • 1970-01-01
      • 2012-09-25
      • 1970-01-01
      相关资源
      最近更新 更多