Rails rails 项目中 YMAL.load_file 不解析 erb 模板

wy406 · 2019年04月30日 · 最后由 wy406 回复于 2019年05月02日 · 1431 次阅读
rails5.2.3
ruby2.5.1

如下两行代码,第一行不能解析 redis.yml 中配置的<%= ENV["REDIS_PASSWORD"] %> 不是说 YMAL 中本身就执行了解析 erb 模板的操作了吗?

read_config = YAML.load_file('config/redis.yml') #不能解析
read_config = YAML::load(ERB.new(IO.read('config/redis.yml')).result) #引入erb之后能解析了

YAML 本身不搞 ERB 的 Rails 的配置文件其实是先 ERB 了再 YAML 的

luikore 回复

@luikore 就是在配置文件中只要设置了 erb 模板的变量配置后,运行 rails 就先执行一遍 erb 模板解析,然后再被 YAML 载入进来,并不是说 rails 中直接重写了 YAML 相关的方法是这个意思吧?

@Rei 感谢帮助

需要 登录 后方可回复, 如果你还没有账号请 注册新账号