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