我的Ruby脚本应该从URL读取XML文档并检查它是否格式良好,并返回任何错误.我有一个使用以下文本托管的示例坏XML文档(来自Nokogiri教程:
<?xml version="1.0"?>
<root>
<open>foo
<closed>bar</closed>
</root>
Run Code Online (Sandbox Code Playgroud)
我的测试脚本如下(url引用我个人服务器上托管的上述xml文件):
require 'nokogiri'
document = Nokogiri::XML(url)
puts document
puts document.errors
Run Code Online (Sandbox Code Playgroud)
输出是:
<?xml version="1.0"?>
Start tag expected, '<' not found
Run Code Online (Sandbox Code Playgroud)
为什么它只捕获XML文件的第一行?即使使用已知良好的XML文件,它也能做到这一点.
我将更新推送到我的Rails应用程序生产服务器,并在更新中有一个新的数据库迁移.我跑rake db:migrate
了,看到了这里看到的常见错误.我再次跑了耙子bundle exec bash
,它成功了.但重新启动我的apache服务器后,我现在收到了500错误页面.此更新在我的本地主机上运行良好,主要是对数据库的此更新,并在根视图和控制器/路由中支持更改.
我甚至不知道为什么这次出现这个错误,因为我在使用之前已经成功推送了db更新rake
.尽管如此,耙子还是成功的.500错误页面仅显示在需要特定新ActiveRecord的页面上.关于如何调试的任何想法?
编辑:我的问题非常简单.我只是忘了用耙子包括环境:
bundle exec rake db:migrate RAILS_ENV=production
Run Code Online (Sandbox Code Playgroud)
不幸的是,为了缩小范围,需要花费很长时间,因为在我按照这些步骤操作之前,我无法使用IRB来检查数据库条目.