2016-06-22 8 views
0

最初はzipruby gemを使用し、レール環境をアップグレードしてrubyzipを切り替えようとしました。それに相当するのは何でしょうか。初期化されていない定数Zip :: Archive

使用済み宝石の宝石のファイルに - 宝石 'rubyzip'、宝石 '鋸山'、レール-4.1.9、ルビー-2.2

Zip::Archive.open("#{@docx_file.path}") do |dest| 
    n = dest.num_files 
    n.times do |i| 
     case dest.get_name(i) 
     when 'word/document.xml' 
      dest.replace_buffer i, @docx[:template].to_xml 
     else 
      # 
     end 
    end 
end 

問題は一定のジップを-uninitialized ::アーカイブ

答えて

3

によると、 rubyzip gemのREADME file、使用する正しいクラスはZip::Fileです。

Zip::File.open('foo.zip') do |zip_file| 
    # Handle entries one by one 
    zip_file.each do |entry| 
    # Extract to file/directory/symlink 
    puts "Extracting #{entry.name}" 
    entry.extract(dest_file) 

    # Read into memory 
    content = entry.get_input_stream.read 
    end 

    # Find specific entry 
    entry = zip_file.glob('*.csv').first 
    puts entry.get_input_stream.read 
end 

使用可能なzipファイルをお読みください。

+0

私はAPIの変更の有無を確認するために古いバージョンのgemをチェックしました。しかし、 'Zip :: Archive'は決して宝石によって定義されていませんでした。 –

+0

@holgerそれは仕事だと私はすでにそれを読んだが、私は期待された結果を得ていない。当初はジプルビー宝石を使っていましたが、今はレールとルビーの環境をアップグレードしてからルビージップ宝石を交換することにしました。私は完全に変換する必要が私のメソッドを更新してください。それをチェックし、私に可能な限り正確な解決策を教えてください。 –

+1

@ArvindRajputあなたの元の(変更された)質問に対する答えは同じです。追加の質問がある場合は、新しい質問をしてください。この新しい質問にあなたの問題が何であるかを正確に記述してください。人々があなたを助けてくれる良い質問を書く方法はhttp://stackoverflow.com/help/mcveを参照してください。 –

関連する問題