You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让YAML解析Ruby代码并生成Date.today实际值?

如何让YAML文件中的Ruby ERB代码执行并返回实际值?

普通YAML加载工具不会自动解析ERB标签(比如<%= Date.today %>),需要先通过ERB渲染文件内容,再解析YAML。具体实现步骤如下:

  1. 引入Ruby的yaml和erb标准库
  2. 读取YAML文件的原始内容
  3. 用ERB渲染内容,执行其中的Ruby代码
  4. 将渲染后的内容解析为YAML对象

示例代码:

require 'yaml'
require 'erb'

# 替换为你的YAML文件实际路径
file_path = 'your_file.yaml'

# 读取文件并执行ERB渲染
rendered_content = ERB.new(File.read(file_path)).result
# 解析渲染后的内容
parsed_data = YAML.load(rendered_content)

# 输出结果,此时time1会是Date.today的实际值
p parsed_data

执行后,parsed_data里的time1字段会返回当前日期的实际值,而非原始的ERB字符串。

注意:ERB会执行文件内的所有Ruby代码,务必确保YAML文件来源安全,避免执行恶意代码。

内容的提问来源于stack exchange,提问作者Preethi Kumar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 03:10:36