在使用多阶段扩展的Capistrano中,我有两个环境:prod和testing。
我需要在prod.rb中不需要的tests.rb中的一些变量,我希望我的一些任务能够检查变量是否已定义并使用它,如果是,但如果它是,则忽略它没有设定。
所以,在testing.rb中我会有类似的东西:
set :foo, 'bar'
prod.rb不会提及:foo因为它不需要它。在我的一项任务中,我想做一些事情:
if defined?(foo)
# do something with foo
else
# do something without foo
end
但我一直收到错误:
undefined local variable or method 'foo'
有没有办法在任务中测试未定义的全局变量?或者我必须做以下事情:
set :foo, ''
在我的所有环境中,不需要:foo变量?