如何为具有默认值的新对象创建 setter 方法?
How can I create a setter method for a new object with default values?
在我的测试文件中,我有:
def default_product()
Product.new(title: "default title",
description: "default description",
price: 1,
image_url: 'default_url.png')
end
并希望将它变成一个可以在没有参数的情况下调用的方法,在这种情况下将设置默认属性,或者使用参数,例如:
default_product(price: 100)
在这种情况下,默认价格将被参数覆盖。
实现此目标的正确方法是什么?
使用默认关键字参数:
def default_product(
title: "default title",
description: "default description",
price: 1,
image_url: 'default_url.png')
Product.new(
title: title,
description: description,
price: price,
image_url: image_url)
end
并称它为:default_product(title: "Another title")
。
旁注: 正确的方法可能是使用 FactoryBot
.
在我的测试文件中,我有:
def default_product()
Product.new(title: "default title",
description: "default description",
price: 1,
image_url: 'default_url.png')
end
并希望将它变成一个可以在没有参数的情况下调用的方法,在这种情况下将设置默认属性,或者使用参数,例如:
default_product(price: 100)
在这种情况下,默认价格将被参数覆盖。
实现此目标的正确方法是什么?
使用默认关键字参数:
def default_product(
title: "default title",
description: "default description",
price: 1,
image_url: 'default_url.png')
Product.new(
title: title,
description: description,
price: price,
image_url: image_url)
end
并称它为:default_product(title: "Another title")
。
旁注: 正确的方法可能是使用 FactoryBot
.