【发布时间】:2013-10-01 12:02:44
【问题描述】:
有没有在本地验证 YAML 的好方法? 我在部署时的生产环境中有几个 YAML 问题,例如
https://gist.github.com/anonymous/78bed61832ff72ff3426
信息量不大,我想知道发生这种情况的文件。 是否可以进一步改进调试 yaml 问题?
我也不确定为什么这只发生在生产而不是开发中。
【问题讨论】:
标签: ruby-on-rails validation yaml
有没有在本地验证 YAML 的好方法? 我在部署时的生产环境中有几个 YAML 问题,例如
https://gist.github.com/anonymous/78bed61832ff72ff3426
信息量不大,我想知道发生这种情况的文件。 是否可以进一步改进调试 yaml 问题?
我也不确定为什么这只发生在生产而不是开发中。
【问题讨论】:
标签: ruby-on-rails validation 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
【讨论】:
Exception 中拯救,而是从 StandardError 拯救。
嗯,根据我的经验,跟踪 YAML 中的错误并不容易。像yamllint 这样的在线工具通常会给出类似 Psych 提供的错误消息。
我唯一能建议的是:检查本地/生产 YAML 文件的差异,看看有什么变化。
【讨论】: