在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 ...