3

我看到了这个Capistrano:我可以为整个 cap 会话设置一个环境变量吗?

我正在使用它来设置我的变量

  set :default_environment, self[:default_environment].
    merge('PAYPAL_SANDBOX' => 'true')

我打印self[:default_environment]PAYPAL_SANDBOX正确设置

但是,我如何测试 rails 服务器是否正在使用该变量集运行?,我认为它不起作用,因为在另一部分我有

ENV['PAYPAL_SANDBOX'] ? 'development' : Rails.env

我正在进入这句话的第二部分,我的意思是采取Rails.env而不是development

4

2 回答 2

2

我是这样解决的:

  1. 我在我的服务器中创建了一个文件,只是为了标记它

    touch test_server
    
  2. 在初始化器内部

    TEST_SERVER = `ls ~/test_server`.present?
    
  3. 然后,

    TEST_SERVER ? 'development' : Rails.env
    
于 2013-06-03T05:58:35.920 回答
0

我的解决方案是这样的:

  1. 设置全局变量

    set :my_number, 23

  2. 获取全局变量

    puts "My number is #{fetch(:my_number)}"

于 2013-11-19T08:33:26.587 回答