Ruby on Rails 自定义配置

示例

YAML在config/目录中创建一个文件,例如:config/neo4j.yml

的内容neo4j.yml可以如下所示(为简单起见,default所有环境都使用):

default: &default
  host: localhost
  port: 7474
  username: neo4j
  password: root

development:
  <<: *default

test:
  <<: *default

production:
  <<: *default

在config/application.rb:

module MyApp
  class Application < Rails::Application
    config.neo4j = config_for(:neo4j)
  end
end

现在,可以如下访问您的自定义配置:

Rails.configuration.neo4j['host']
 #=> localhost
Rails.configuration.neo4j['port']
 #=> 7474


更多信息

Rails官方API文档将config_for方法描述为:

为当前的Rails env加载config / foo.yml的便利。


如果您不想使用yaml文件

您可以通过Rails配置对象使用该config.x属性下的自定义配置来配置自己的代码。

config.x.payment_processing.schedule = :daily
config.x.payment_processing.retries  = 3
config.x.super_debugger = true

然后,可以通过配置对象使用以下配置点:

Rails.configuration.x.payment_processing.schedule # => :daily
Rails.configuration.x.payment_processing.retries  # => 3
Rails.configuration.x.super_debugger              # => true
Rails.configuration.x.super_debugger.not_set      # => nil