如何使用 rails 中的构造编写 factory_girl 创建命令
How to write factory_girl create command using fabrication in rails
我正在学习如何在 Rails
中使用 fabrication,我们决定用伪造的代码替换所有 factory_girl
代码。
假设我们在 factory_girl
中有这段代码,我将如何使用 fabrication
重写整个代码?
FactoryGirl.create(
:payment,
user: user_ny,
amount: -4000,
booking: booking,
payable: payable]
)
这是使用 Fabrication 的正确代码吗?我是 rails 框架的新手,非常感谢您的帮助。
Fabricator(:payment) do
name { user_ny }
amount -4000
booking { booking }
payable { payable }
end
伪造等同于 FactoryGirl.create(:payment)
是 Fabricate(:payment)
。
看起来 booking
和 payable
是其他制造商,所以你可以这样写:
Fabricate(:payment, name: user_ny) do
amount -4000
booking
payable
end
如果您在没有 "value" 的情况下声明关系,它会执行默认扩展并生成同名制造者在对象上定义和设置的任何内容。
在上面user_ny
的情况下,在制作时使用局部变量最简单的方法是将其作为参数传入。您可以根据需要在参数和块语法之间混合和匹配,但参数优先。
我正在学习如何在 Rails
中使用 fabrication,我们决定用伪造的代码替换所有 factory_girl
代码。
假设我们在 factory_girl
中有这段代码,我将如何使用 fabrication
重写整个代码?
FactoryGirl.create(
:payment,
user: user_ny,
amount: -4000,
booking: booking,
payable: payable]
)
这是使用 Fabrication 的正确代码吗?我是 rails 框架的新手,非常感谢您的帮助。
Fabricator(:payment) do
name { user_ny }
amount -4000
booking { booking }
payable { payable }
end
伪造等同于 FactoryGirl.create(:payment)
是 Fabricate(:payment)
。
看起来 booking
和 payable
是其他制造商,所以你可以这样写:
Fabricate(:payment, name: user_ny) do
amount -4000
booking
payable
end
如果您在没有 "value" 的情况下声明关系,它会执行默认扩展并生成同名制造者在对象上定义和设置的任何内容。
在上面user_ny
的情况下,在制作时使用局部变量最简单的方法是将其作为参数传入。您可以根据需要在参数和块语法之间混合和匹配,但参数优先。