Ric*_*ras 6 configuration ruby-on-rails
我需要在rails中存储特定于应用程序的配置.但它必须是:
我试过使用environment.rb并添加类似的东西
USE_USER_APP = true
Run Code Online (Sandbox Code Playgroud)
这对我有用,但是当试图在特定环境中覆盖它时它不会工作,因为例如,production.rb似乎在Rails:Initializer.run块中.
那么,有人吗?
我昨天正在帮助一位朋友设置里卡多提到的解决方案。我们通过加载与此类似的 YAML 文件(根据此处的内存)对其进行了一些修改:
require 'ostruct'
require 'yaml'
require 'erb'
#config = OpenStruct.new(YAML.load_file("#{RAILS_ROOT}/config/config.yml"))
config = OpenStruct.new(YAML.load(ERB.new(File.read("#{RAILS_ROOT}/config/config.yml")).result))
env_config = config.send(RAILS_ENV)
config.common.update(env_config) unless env_config.nil?
::AppConfig = OpenStruct.new(config.common)
Run Code Online (Sandbox Code Playgroud)
这使得他能够在配置中嵌入 Ruby 代码,就像在 Rhtml 中一样:
development:
path_to_something: <%= RAILS_ROOT %>/config/something.yml
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4399 次 |
| 最近记录: |