而不是:
calc(a: 1, b: 2, c: 3)
calc(a: 1, b: 2, c: 10)
calc(a: 1, b: 2, c: 2)
calc(a: 1, b: 2, c: 103)
calc(a: 1, b: 2, c: 98)
我愿意:
with_parameters(a: 1, b: 2) do
calc(c: 3)
calc(c: 10)
calc(c: 2)
calc(c: 103)
calc(c: 98)
end
上下文是我正在尝试为FactoryGirl执行此操作,例如创建许多类似的工厂
修改:实际上我很确定某些method_missing
+ send
可以做到这一点
答案 0 :(得分:1)
对于工厂女孩来说,不需要任何花哨的技巧
let(:base_params) { { a: 1, b: 2} }
let(:things) {
[3, 10, 2].map do |c|
create(:whatever, base_params.merge(c: c))
end
}