0
我有一個我想用FactoryGirl創建的鍵和值的散列。我通過了POST類似的要求,但無法理解達到我想要的方式。以下是我的嘗試:使用FactoryGirl定義多個自定義記錄
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: `method_missing的「:廠已註冊: submit_statuses(FactoryGirl :: DuplicateDefinitionError)
編輯(闖闖)
沒錯,OP實際上更好的詮釋。 –
只是爲了理解,你能看到我的**編輯**,並告訴我什麼是'特徵'優於我的代碼 – Abhi
你的新代碼*有效*,但我會認爲它質量差。你正在污染工廠的全局名稱空間,這似乎是好的,因爲每個狀態代碼都被稱爲' _status' ...但是爲什麼* IS *所有名稱都是這樣命名的?你的狀態應該是'hold','scheduled','submitted'等。通過使用traits,你可以在一個「標題」下將每個工廠在邏輯上分組。 –