【发布时间】:2013-01-30 08:44:56
【问题描述】:
我想为具有类似 'Foo::Bar' 的命名空间的类定义 Fabricator。
告诉我它的工作原理。
这是我的代码。
models/foo.rb
class Foo
include Mongoid::Document
embedded_in :foo_container, polymorphic: true
field :xxx ....
end
models/foo/bar.rb
class Foo::Bar < Foo
field :yyy ....
field :zzz ....
end
数据/fabricators/foo_bar_fabricator.rb
Fabricator(:foo_bar, class_name: 'Foo::Bar') do
yyy 'MyString'
zzz 'MyString'
end
当我尝试在 parino 控制台上创建 Fabricatior 对象但发生错误时。
> Fabricate(:foo_bar)
> NoMethodError: undefined method `new?' for nil:NilClass
.... stack messages
当我尝试创建其他 Fabricator 对象不是像“用户”这样的命名空间类时,它成功了。
【问题讨论】:
标签: ruby mongoid fabrication-gem