【发布时间】:2017-05-09 12:26:51
【问题描述】:
我有一个希望使用 FactoryGirl 创建的键和值的散列。我经历了具有类似要求的POST,但无法理解实现我想要的方法。以下是我尝试过的:
statuses = {
"holding_status" => "Holding",
"scheduled_status" => "Scheduled",
"submitted_status" => "Submitted",
"cancelled_status" => "Cancelled",
"failed_status" => "Failed",
"none_status" => nil
}
statuses.each do |code, name|
FactoryGirl.define do
factory :submit_statuses do
code code
name name
end
end
end
但是,它给了我以下错误(预期):
/var/lib/gems/2.2.0/gems/factory_girl-4.5.0/lib/factory_girl/decorator.rb:10:in `method_missing':工厂已经注册: submit_statuses (FactoryGirl::DuplicateDefinitionError)
编辑(再试一次)
FactoryGirl.define do
statuses.each do |code, name|
factory "submit_#{code}" do
code code
name name
end
end
end
create(:submit_holding_status)
create(:submit_scheduled_status)
create(:submit_submitted_status)
create(:submit_cancelled_status)
create(:submit_failed_status)
create(:submit_none_status)
【问题讨论】:
标签: ruby-on-rails ruby rspec factory-bot