如何在 rails 中为不在模型文件夹根目录中的模型定义工厂女孩?
How to define factory girl in rails for model that isn't in root of the models folder?
我想在我的服务器中为模型文件夹中的模型创建一个工厂女孩。
我的树视图看起来像:
├── app
| ├── models
│ │ ├── xxx
│ │ | ├── user.rb
├── spec
│ ├── factories
│ │ ├── xxx
│ │ | ├── user.rb
我的厂妹长这样:
FactoryGirl.define do
factory :user do
username { 'aaa' }
end
end
当我尝试构建用户时出现错误:
undefined method `new' for User:Module
你的模型是在命名空间下定义的吗?例如,如果您的 app/models/xxx/user.rb
定义了 class:
class XXX::User
#...
end
那么在你的工厂里你可以做:
FactoryGirl.define do
factory :user, class: XXX::User do
username { 'aaa' }
end
end
我想在我的服务器中为模型文件夹中的模型创建一个工厂女孩。
我的树视图看起来像:
├── app
| ├── models
│ │ ├── xxx
│ │ | ├── user.rb
├── spec
│ ├── factories
│ │ ├── xxx
│ │ | ├── user.rb
我的厂妹长这样:
FactoryGirl.define do
factory :user do
username { 'aaa' }
end
end
当我尝试构建用户时出现错误:
undefined method `new' for User:Module
你的模型是在命名空间下定义的吗?例如,如果您的 app/models/xxx/user.rb
定义了 class:
class XXX::User
#...
end
那么在你的工厂里你可以做:
FactoryGirl.define do
factory :user, class: XXX::User do
username { 'aaa' }
end
end