问题/请求: 从属性块中访问原始参数的能力
作者: andrewhavens创建于 2025年4月30日更新于 2025年5月2日
我正在尝试弄清楚如何解决循环依赖的问题。例如,我想创建一个工厂,接受三种关联中的一种。如果没有提供某个关联,则会创建该关联,并将其与提供的关联关联起来。 # 假设示例 factory :person do parent { create :parent } child { create :child, parent: parent } something { create :something, parent: parent } end # 使用方法 create(:person, parent: parent) create(:person, child: child) create(:person, something: something) 我遇到的问题是不知道在调用 create 时最初传递的值是哪一个。如果传递 nil,也可以实例化模型,而不指定关联。 我曾尝试在 after(:build) 中这样做,但我无法知道关联是否为 nil,或者是否因为没有指定而创建。如果有某种方法可以访问原始参数,那么我就可以知道哪一个参数被提供了。是否已经有方法可以做到这一点了?
内容来源: thoughtbot/factory_bot