Ruby 未初始化的常量Zip::Archive
最初我使用了zipruby gem并升级了rails环境,并尝试切换rubyzip。那么,与此等价的是什么呢 在gem文件中使用gem-gem'rubyzip',gem'nokogiri',rails-4.1.9,ruby-2.2Ruby 未初始化的常量Zip::Archive,ruby,ruby-on-rails-4,rubygems,nokogiri,rubyzip,Ruby,Ruby On Rails 4,Rubygems,Nokogiri,Rubyzip,最初我使用了zipruby gem并升级了rails环境,并尝试切换rubyzip。那么,与此等价的是什么呢 在gem文件中使用gem-gem'rubyzip',gem'nokogiri',rails-4.1.9,ruby-2.2 Zip::Archive.open("#{@docx_file.path}") do |dest| n = dest.num_files n.times do |i| case dest.get_name(i) when 'w
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
问题-未初始化的常量Zip::Archive根据rubyzip gem的定义,正确使用的类是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
请阅读提供给您的文档。根据rubyzip gem的定义,正确使用的类是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
请阅读提供给您的文档。出于兴趣,我检查了gem的旧版本,以查看API是否发生了更改。但是
Zip::Archive
从来没有被gem定义过。@holger这是我的作品,我已经读过了,但是我没有得到预期的结果。最初我使用了zipruby gem,现在升级了rails和ruby环境,然后我决定切换rubyzip gem,但在移动方面遇到了困难。我已经完全更新了我需要转换的方法。请检查它,并在可能的情况下给我精确的解决方案。@Arvindraj但您原始(和更改的)问题的答案仍然相同。如果你还有其他问题,请问一个新问题。请确保在这个新问题中准确描述您的问题。请参阅“如何编写一个好的问题,让人们帮助您”。@Arvindrajp但如果您仍然有困难,请创建一个新的、结构良好的问题。正如这个答案所示,您使用这个gem的语法是无效的-您需要阅读文档并适当地更新它。出于兴趣,我检查了gem的旧版本,以查看API是否发生了更改。但是Zip::Archive
从来没有被gem定义过。@holger这是我的作品,我已经读过了,但是我没有得到预期的结果。最初我使用了zipruby gem,现在升级了rails和ruby环境,然后我决定切换rubyzip gem,但在移动方面遇到了困难。我已经完全更新了我需要转换的方法。请检查它,并在可能的情况下给我精确的解决方案。@Arvindraj但您原始(和更改的)问题的答案仍然相同。如果你还有其他问题,请问一个新问题。请确保在这个新问题中准确描述您的问题。请参阅“如何编写一个好的问题,让人们帮助您”。@Arvindrajp但如果您仍然有困难,请创建一个新的、结构良好的问题。正如这个答案所示,您使用这个gem的语法是无效的-您需要阅读文档并适当地更新它。