2011-01-28 49 views
1

內更換符號最好的辦法我在YAML格式的配置文件,像這樣在我的Rails應用程序的一些路徑:YAML配置 - 將一個字符串

config 
    :path1: /a/b/c 
    :path2: /a/:id/c 

PATH1不幫助太多。我需要每次使用config [:path2]以某種方式將id替換爲我的值。有可能的?

希望這已經夠清楚了。 謝謝!

+0

我這樣做,替代的功能:與我需要的值id,但我想這樣做......如只使用配置[更好/更靈活的方式:路徑2],並以某種方式用我的價值取代它中的符號... – Clawsy 2011-01-28 07:21:55

回答

0

您可以使用一點ERB。

# config.yml 
config 
    :path1: /a/b/c 
    :path2: /a/<%= id %>/c 
    :path3: <%= path3 %> 

id = "23" 
path3 = "hello/world" 

t = ERB.new(File.read("config.yml")) 
c = YAML.load(t.result(binding).to_s) 

c["config"][:path2] 
# => /a/23/c 
c["config"][:path3] 
# => /hello/world 
+0

感謝您的答案。即使這對我的情況沒有幫助:在應用程序啓動後,id變化很大...... – Clawsy 2011-01-28 14:17:23

相關問題