我正在尝试构建rake任务,获取产品Feed并将其添加到我的数据库中。
task :testme => :environment do
require 'nokogiri'
require 'zlib'
require 'open-uri'
@url = "http://some_url/filename.xml.gz"
@source = open((@url), :http_basic_authentication=>[USERID, "PASSWORD"])
@gz = Zlib::GzipReader.new(@source)
@result = @gz.read
@doc = Nokogiri::XML(@result)
@doc.xpath("//product").each do |item|
Product.create(:productname => product.css("name").text)
end
end
所以这个工作正常,直到
@doc = Nokogiri::XML(@result)
会抛出一个rake错误
File name too long (repeating the content of xml- document)
这真的令人困惑,因为我在一个模型中开发并测试了它,在那里我可以读取,解压缩并搜索文件,然后用put编写所需的字段。
你有什么想法吗?
干杯,
缬氨酸
答案 0 :(得分:0)
知道了:
require 'rubygems'
失踪了。