如何设置配置变量并在rails控制器中访问它

时间:2014-04-14 06:51:50

标签: ruby-on-rails-3

我有一组需要为elasticMQ sqs初始化的参数。现在我已在控制器中添加如下。

sqs = RightAws::SqsGen2.new("ABCD","DEFG",{:server=>"localhost",:port=>9324,:protocol=>"http"}) 

在config文件夹中设置它并在控制器中访问它以及如何操作的更好方法是什么。请帮忙

1 个答案:

答案 0 :(得分:0)

创建一个配置文件 config / config.yml ,它将存储不同环境的配置变量并将其加载到config / application.rb中。

development:
  elasticmq:
    server: localhost
    port: 9324
    protocol: 'http'

production:
  elasticmq:
    server:
    port:
    protocol:

test:

在config / application.rb中:

CONFIG = YAML.load_file("config/config.yml")[Rails.env]

CONFIG变量现在在控制器中可用。现在您可以执行以下操作:

sqs = RightAws::SqsGen2.new("ABCD","DEFG",{:server=>"#{CONFIG['elasticmq']['server']}",:port=> "#{CONFIG['elasticmq']['port']}",:protocol=>"#{CONFIG['elasticmq']['protocol']}"})