Ruby on rails 使用RubyonRails在本地验证yaml文件?

Ruby on rails 使用RubyonRails在本地验证yaml文件?,ruby-on-rails,validation,yaml,Ruby On Rails,Validation,Yaml,是否有一种在本地验证YAML的好方法? 我在部署时的生产环境中有几个YAML问题,例如 https://gist.github.com/anonymous/78bed61832ff72ff3426 不是很有用,我想知道发生这种情况的文件。 是否有可能进一步改进yaml问题的调试 我也不知道为什么这只发生在生产中,而不是在开发中。根据我的经验,跟踪YAML中的bug并不容易。像Psych这样的在线工具通常会给出类似的错误消息 我唯一的建议是:检查本地/生产YAML文件中的差异,看看有什么变化。我

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

https://gist.github.com/anonymous/78bed61832ff72ff3426
不是很有用,我想知道发生这种情况的文件。 是否有可能进一步改进yaml问题的调试


我也不知道为什么这只发生在生产中,而不是在开发中。

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


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

我最后编写了一个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