如何在rails中为不在models文件夹根目录的模型定义工厂女孩?

时间:2015-02-01 16:47:12

标签: ruby-on-rails factory-bot

我想在我的服务器中为模型创建一个工厂女孩,该模型位于models文件夹中。

我的树状视图如下:

├── app 
|   ├── models
│   │   ├── xxx 
│   │   |   ├── user.rb
├── spec 
│   ├── factories
│   │   ├── xxx
│   │   |   ├── user.rb

我的工厂女孩​​看起来像:

FactoryGirl.define do
  factory :user do
    username { 'aaa' }
  end
end

当我尝试构建用户时,我收到错误:

  

未定义的方法`new'对于用户:模块

1 个答案:

答案 0 :(得分:3)

您的模型是否在命名空间下定义?例如,如果您的app/models/xxx/user.rb定义了一个类:

class XXX::User
  #...
end

然后在你的工厂你可以做到:

FactoryGirl.define do
  factory :user, class: XXX::User do
    username { 'aaa' }
  end
end