ruby-on-rails - YAML 中的 Ruby 可执行文件

标签 ruby-on-rails ruby yaml

我有一个示例 yaml 文件 (abc.yaml),如下所示:

entity1:
  condition: "created_at >= #{Date.today - 3.months}"

我想从 Ruby 中的 YAML 读取这个条件:

"created_at >= 2015-03-02"

但是当我这样做的时候

YAML.load_file('abc.yaml')["entity1"]["condition"]

我得到:

"created_at >= \#{Date.today - 3.months}"

请让我知道如何解决这个问题。

最佳答案

更安全的选择是只转换预定格式的已知数据。或者使用一些很酷的东西,比如 settingslogic https://github.com/settingslogic/settingslogic .它使用 ERB 样式的格式来加载设置,因此您可以获得一些内置的安全性。

例如:

defaults: &defaults
  cool:
    saweet: nested settings
  neat_setting: 24
  awesome_setting: <%= "Did you know 5 + 5 = #{5 + 5}?" %>

关于ruby-on-rails - YAML 中的 Ruby 可执行文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30588488/

相关文章:

linux - Azure Linux 应用服务 : Installing packages after deploy from Devops pipeline

php - Orangehrm:找不到用户定义的类

html - 这个随机数:/javascripts/rails. js是做什么的?1271798101

ruby-on-rails - 在 rails 中显示来自不同文件夹的图像

ruby - 如何在一个语句中从一组类对象构建散列

ruby - 从 rake 运行时测试失败,直接运行时通过

java - YAML Beans 读取嵌套对象

ruby-on-rails - Rails 图像文档

ruby-on-rails - 如何在 Ruby on Rails 中为相关对象创建删除链接?

mysql - 如何转换此 group_by 语句,使其在 DB 而不是 Ruby 上工作?