我们有一个用于 Rails 3 应用程序的配置 YAML 文件,每个 Rails 环境的文件位置如下:
Production:
file_path: "#{Rails.root}/tmp/foobar"
Test:
file_path: "#{Rails.root}/tmp/test"
这个 'file_path' 目录根据我们的应用程序部署的目标机器而变化。所以我们希望我们可以将这个模板字符串与替换的 Rails.root 变量一起使用。然而,在执行期间,当我们从配置文件加载和使用这个字符串时,它似乎并没有用实际的 Rails.root 值替换 #{Rails.root}。所以我们必须使用gsub。这感觉相当尴尬,我希望在我们的配置 YAML 文件中有一种不同的方法来指定它,以便它在运行时自动进行替换。是的,有几种替代方法可以解决这个问题,但总的来说,我的问题是如何从 YAML 配置文件中使用这样的 Rails 变量。