在rails应用程序中优化application.yml文件

时间:2013-09-04 12:12:55

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-3.2

我在application.yml文件中有一些常量,我在不同的地方使用我的应用程序。

示例(在我的config / application.yml中)

 main_url : "http://abc.net/api"
     a_url: "http://abc.net/api/a"
     b_url: "http://abc.net/api/b"
     c_url: "http://abc.net/api/c"

查看此代码,网址“http://abc.net/api”正在每个地方重复。我想删除重复的URL并使用main_url + rest url组合。如何在application.yml中执行此操作我希望我的application.yml看起来像

main_url : "http://abc.net/api"
     a_url: main_url + "/a"
     b_url: main_url + "/b"
     c_url: main_url + "/c"

从配置YAML文件中删除重复代码的最佳方法是什么。

1 个答案:

答案 0 :(得分:4)

我认为不可能。您可以重复使用“节点”,但不能重复使用它。

bill-to: &id001
    given  : Chris
    family : Dumars
ship-to: *id001

这是完全有效的YAML,字段givenfamily会在ship-to块中重复使用。您可以以相同的方式重用标量节点,但是您无法更改内部的内容并从YAML内部添加路径的最后一部分。

如果重复打扰你那么多我建议让你的应用程序知道root属性并将其添加到看起来相对而非绝对的每条路径。

来源:how to reference a YAML "setting" from elsewhere in the same YAML file?