2

是否可以使用机械师为非活动记录模型创建蓝图?无论我尝试什么,似乎都会产生错误!

如果这对机械师来说是不可能的,那么是否有另一个夹具生成宝石可以做到这一点?我还读到工厂女孩对此有疑问。

4

2 回答 2

4

我对 Machinist 2 beta 1 做了一些调查,看起来它支持普通的 ruby​​ 对象。这是我为使其正常工作所做的工作。很高兴了解任何更简单的解决方案。

require 'rubygems'
require 'machinist'
require 'faker'

class YourObject
 attr_accessor :field1, :field2
end


# For all Objects
class Object
 extend Machinist::Machinable

 def self.blueprint_class
   Machinist::Blueprint
 end
end   

# Or just one object
YourObject.send(:extend, Machinist::Machinable)
YourObject.class_eval do
 def self.blueprint_class
   Machinist::Blueprint
 end
end



YourObject.blueprint do
 field1 { rand(1000) }
 field2 { Faker::Name }
end

obj = YourObject.make
于 2011-03-28T23:06:55.957 回答
0

如果有人好奇,FactoryGirl 和 PORO 的问题之一(可能还有其他问题)是它不处理带参数的构造函数。您可以根据此处的答案进行到期。

于 2013-04-04T18:10:53.837 回答