我使用非AR模型和工厂方法。
class MyModel
include ActiveAttr::Model
attribute :data
attribute :frequency
def self.process_data
# ...
new(data: 'foo', frequency: 1) # e. g.
end
private_class_method :new
end
cource的默认工厂调用会引发错误:私有方法`new'调用MyModel 是否有任何特殊选项可以设置工厂以省略此错误?
答案 0 :(得分:3)
class A
class << self
private :new
end
end
FactoryGirl.define do
factory :a do
initialize_with { A.send :new }
end
end
FactoryGirl.build :a
#<C:0x007ff1219f0190>