2010-02-01 2 views
0

rake 태스크를 빌드하는 중, 제품 피드를 가져와 내 db에 추가합니다. 내가 개발하고 내가 읽을 수있는 모델에서 그것을 테스트하기 때문에nogokiri로 XML 스트림을 가져 와서 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 

그래서이,

갈퀴 오류

정말 혼란
File name too long (repeating the content of xml- document) 

가 발생합니다

@doc = Nokogiri::XML(@result) 

때까지 잘 작동 압축을 풀고 파일을 검색 한 다음 put을 사용하여 원하는 필드를 작성하십시오.

아이디어가 있으십니까?

건배,

답변

0

는 알았어요 :

require 'rubygems' 

가 누락되었습니다.