2010-02-01 3 views
0

Я пытаюсь создать задачи rake, которые извлекают фид продукта и добавляет его в мой db.Rake задача получить XML-поток с nogokiri и записать выбранные поля в DB

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) 

который бросает ошибку грабли

File name too long (repeating the content of xml- document) 

Это действительно сбивает с толку, потому что я разработал и проверил его в модели, где я мог читать, разархивировать и искать файл, а затем записать нужные поля с помощью put.

У вас есть идея?

Приветствия,

Val

ответ

0

Понял:

require 'rubygems' 

отсутствовал.

 Смежные вопросы

  • Нет связанных вопросов^_^