在这里,我想向你展示一个演示代码:块运行的代码只有在一定的条件
if ENV["PRODUCTION"]
user.apply_discount!
product.update!
else
VCR.use_cassette(vcr_cassette) do
user.apply_discount!
product.update!
end
end
所以基本上两次我也有同样的代码:
user.apply_discount!
product.update!
如何我可以防止这种代码重复吗?你会怎么做? 我正在考虑将代码放在一个Block中,然后直接或者在块中调用它。这里有一个例子:
actions = Proc.new do
user.apply_discount!
product.update!
end
if ENV["PRODUCTION"]
actions.call
else
VCR.use_cassette(vcr_cassette) do
actions.call
end
end
你有其他的想法?解决方案更好谢谢
这很酷。但是'ENV('PRODUCTION')'在方法中可以访问,所以我们需要将它作为参数传递? – SteveTurczyn
@SteveTurczyn良好的通话。无需通过无处不在的可变变量:) –