我試圖通過定義1個工廠,而不是30FactoryGirl - 在一個循環
這是爲什麼不工作以節省時間定義幾個工廠?
(假設我們有一個叫做類方法:wanted_attributes)
require 'rubygems'
require 'faker'
models = %w[Model1 Model2]
models.each do |model|
factoryname = model.downcase + "_e"
FactoryGirl.define do
factory factoryname.to_sym, :class => model do
model.constantize.wanted_attributes.each do |attribute|
attribute Faker::Name.first_name
end
end
end
end
,我發現了錯誤:
FactoryGirl::AttributeDefinitionError: Attribute already defined: attribute
我不認爲你需要調用'constantize'如果傳遞的實際上課。 –