我正在爲一個Ruby on Rails應用程序編寫一些RSpec測試,並且遇到了我似乎無法解決的問題。我有一堆與其他人關聯的對象,我使用Factory Girl來創建它們。下面是我遇到問題的示例:工廠女孩用Ruby on Rails進行測試,依賴關係
user = Factory.create(:user)
package = Factory.build(:package, :user => user)
item = Factory.create(:item, :package => package)
所有軟件包屬於用戶,因此第一個依賴關係相當平凡。創建一個用戶然後將它與一個包關聯起來,沒問題。現在是問題所在。我的包模型有一個驗證,說它不能在包中至少包含一個項目的情況下創建。這意味着我不能使用Factory.create。這與在我的packages_controller.rb中執行@ Package.new幾乎是一樣的,這很好。後來,我繼續創建一個項目,問題是,我無法將該項目與包裹關聯,因爲該包裹尚無ID。
是否有無論如何我可以創建我的包,創建一個項目並保存它,然後將這兩個關聯在一起,一旦包有一個ID?