2016-03-16 58 views
1

我正在學習如何在Rails中使用fabrication,並且我們決定用製造替換我們所有的factory_girl代碼。如何在rails中使用製造編寫factory_girl創建命令

假設我們在factory_girl有這樣的代碼,我將如何使用fabrication來重寫整個事物?

FactoryGirl.create(
    :payment, 
    user: user_ny, 
    amount: -4000, 
    booking: booking, 
    payable: payable] 
) 

這是使用製造的正確的代碼?我是新來的Rails框架,並感謝您的幫助。

Fabricator(:payment) do 
    name { user_ny } 
    amount -4000 
    booking { booking } 
    payable { payable } 
end 

回答

1

製作的相當於FactoryGirl.create(:payment)Fabricate(:payment)

它看起來像bookingpayable其他的加工廠,所以你可以這樣寫:如果你聲明沒有「價值」的關係

Fabricate(:payment, name: user_ny) do 
    amount -4000 
    booking 
    payable 
end 

它執行默認的擴展和產生的任何製造者相同的名稱定義,並將其設置在物體上。

在以上user_ny的情況下,製造時要使用的局部變量的最簡單方法是在通過它作爲一個參數。你可以混合和匹配,但是你想的參數和塊語法之間,雖然參數爲準。

相關問題