0

我有这个文件夹结构:

.
  spec
    factories
      category.rb
      service.rb

但是当我从服务调用类别时,我得到Trait not registered错误,因为category.rb之前没有加载service.rb

我想在服务中写这个:

require_relative 'category'

会起作用,但是有没有更简单的方法可以做到这一点,因为我必须require_relative在每个文件中,并且在每个文件中多次,因为每个模型都有很多关联。

更新

我不能做我在上一段中提到的事情:

require_relative 'category'

FactoryGirl.define do
  factory :service do
    category
  end
end

结果是:

Factory already registered: category (FactoryGirl::DuplicateDefinitionError)
4

2 回答 2

0

我的问题中没有提到,所以这个答案不能从我的问题中推断出来,我发帖完成。

问题是我正在使用 zeus 服务器,我重新启动了 zeus 服务器并且一切正常。

于 2013-08-04T18:51:08.053 回答
-1

The solution, which is also a better practice in my opinion, is to put all of the factories into one file, instead of separate ones.

Actually we don't need too much factories files if the factories are not too much.

Move all of the definition in to spec/factories.rb, and then remove the directory and files spec/factories.

于 2013-08-03T14:24:12.997 回答