【问题标题】:validate a yaml file locally with ruby on rails?使用 ruby​​ on rails 在本地验证 yaml 文件?
【发布时间】:2013-10-01 12:02:44
【问题描述】:

有没有在本地验证 YAML 的好方法? 我在部署时的生产环境中有几个 YAML 问题,例如

https://gist.github.com/anonymous/78bed61832ff72ff3426

信息量不大,我想知道发生这种情况的文件。 是否可以进一步改进调试 yaml 问题?

我也不确定为什么这只发生在生产而不是开发中。

【问题讨论】:

    标签: ruby-on-rails validation yaml


    【解决方案1】:

    我最终编写了一个 rake 任务来执行此操作: 例如另存为 /lib/yaml.rake (.rake ! not .rb)

    namespace :yaml do
    
    desc "Test YAML files"
    task :check => :environment do
      require 'yaml'
    
      d = Dir["./**/*.yml"]
      d.each do |file|
        begin
          puts "checking : #{file}"
          f = YAML.load_file(file)
        rescue Exception
          puts "failed to read #{file}: #{$!}"
        end
      end
    end
    end
    

    【讨论】:

    • 你不应该从 Exception 中拯救,而是从 StandardError 拯救。
    【解决方案2】:

    嗯,根据我的经验,跟踪 YAML 中的错误并不容易。像yamllint 这样的在线工具通常会给出类似 Psych 提供的错误消息。

    我唯一能建议的是:检查本地/生产 YAML 文件的差异,看看有什么变化。

    【讨论】:

      猜你喜欢
      • 2016-12-15
      • 2012-12-19
      • 2011-05-09
      • 2013-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多