Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails YAML配置-替换字符串中的符号的最佳方法_Ruby On Rails_Ruby_Yaml_Symbols - Fatal编程技术网

Ruby on rails YAML配置-替换字符串中的符号的最佳方法

Ruby on rails YAML配置-替换字符串中的符号的最佳方法,ruby-on-rails,ruby,yaml,symbols,Ruby On Rails,Ruby,Yaml,Symbols,我有一个YAML格式的配置文件,在rails应用程序中有如下路径: config :path1: /a/b/c :path2: /a/:id/c 路径1帮助不大。每次使用config[:path2]以某种方式用我拥有的值替换:id时,我都需要它。有可能吗 希望这足够清楚。 谢谢 您可以使用一点ERB # config.yml config :path1: /a/b/c :path2: /a/<%= id %>/c :path3: <%=

我有一个YAML格式的配置文件,在rails应用程序中有如下路径:

config
    :path1: /a/b/c
    :path2: /a/:id/c
路径1帮助不大。每次使用config[:path2]以某种方式用我拥有的值替换:id时,我都需要它。有可能吗

希望这足够清楚。
谢谢

您可以使用一点ERB

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

我做了一个函数,用我需要的值替换了:id,但我想要一个更好/更灵活的方法来实现这一点。。。比如只使用config[:path2]并以某种方式将其中的符号替换为my value…谢谢您的回答。即使它在我的情况下没有帮助:id在应用程序启动后变化很大。。。
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