在YAML中有一个自定义标签用于
ruby,以在YAML文件中包含一个YAML文件?
#E.g.: --- !include filename: another.yml
前一段时间曾经提出一个similar的问题,没有相关的答案.
解决方法
如果您在Rails中,YAML可以包括ERB.
结合在一起,这里是如何使用<%=%>包括一个来自另一个的文件:
database.yml的
<% if File.exists?('/tmp/MysqL.sock') %> <%= IO.read('config/database.MysqL.yml') %> <% else %> <%= IO.read('config/database.sqlite.yml') %> <% end %>
database.sqlite.yml
sqlite: &defaults adapter: sqlite3 pool: 5 timeout: 5000 development: <<: *defaults database: db/development.sqlite3 test: <<: *defaults database: db/test.sqlite3 production: <<: *defaults database: db/production.sqlite3
database.MysqL.yml
development: adapter: MysqL2 # ... the rest of your MysqL configuration ...