Ruby on rails 如何在Rails应用程序中使用RubyGems类

Ruby on rails 如何在Rails应用程序中使用RubyGems类,ruby-on-rails,ruby,rubygems,Ruby On Rails,Ruby,Rubygems,我需要在Rails应用程序中使用数据库中的数据流传输TAR文件。 我知道RubyGems有一个非常适合我的用例的TarWriter模块 问题是,如何在Rails应用程序中包含该模块? 我试图要求rubygems/包装如下: require 'zlib' require 'rubygems/package' tar = StringIO.new Gem::Package::TarWriter.new(tar) do |writer| writer.add_file("a_file.tx

我需要在Rails应用程序中使用数据库中的数据流传输TAR文件。 我知道RubyGems有一个非常适合我的用例的
TarWriter
模块

问题是,如何在Rails应用程序中包含该模块? 我试图要求rubygems/包装如下:

require 'zlib'
require 'rubygems/package'

tar = StringIO.new

Gem::Package::TarWriter.new(tar) do |writer|
    writer.add_file("a_file.txt", 0644) do |f| 
        (1..1000).each do |i| 
            f.write("some text\n")
        end
    end
    writer.add_file("another_file.txt", 0644) do |f| 
        f.write("some more text\n")
    end
end
tar.seek(0)

gz = Zlib::GzipWriter.new(File.new('this_is_a_tar_gz.tar.gz', 'wb'))
gz.write(tar.read)
tar.close
gz.close
require
在控制器上失败。我试图在我的
Gemfile
上添加
gem'rubygems/package'
,但没有成功


这是一个noob问题,我如何使用Rails应用程序中的RubyGems模块?

您应该指定模块的完整路径:
Gem::Package::TarWriter
并将
require'RubyGems/Package'
添加到控制器中。

您收到了什么类型的错误?NameError-未初始化常量Hostmanager::HostsController::TarWriter: