我正在为一个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?