自定义导轨配置部分
为rails应用程序创建自定义配置部分的最佳方法是什么? 理想情况下,我希望最终结果是api调用,如:
Rails.configuration.foo.bar Rails.configuration.foo.baz
例如
Rails.configuration.stackoverflow.api_key Rails.configuration.stackoverflow.api_secret
我会将stackoverflow配置存储在某个.rb文件(config / initializers?)中,我显然会在Rails.configuration
有其他类似的命名空间
您正在寻找的是ActiveSupport :: OrderedOptions 。
rails在内部用于设置config命名空间。 它允许在config/application.rb
执行类似的操作:
module MyApp class Application < Rails::Application # ... config.foo = ActiveSupport::OrderedOptions.new config.foo.bar = :bar end end
然后您可以通常的方式检索它:
Rails.configuration.foo.bar
如果您希望这是特定于环境的,您也可以在config/environments/*.rb
而不是config/application.rb
使用它。
在Rails 4中使用自定义配置更好。
$ Rails.configuration.x.class # Rails::Application::Configuration::Custom < Object Rails.application.configure do # custom configuration section config.x.foo.bar = "foo.bar" end $ Rails.configuration.x.foo.bar # "boo.bar"