25

この件に関して別のスレッドがあることは知っていますが、すべてのソリューションを使用した後でもこの問題に直面しています。zip ファイルを生成する他の方法はありますか? Ubuntu システム コマンドを使用できますか?

やった

 gem install rubyzip

私は持っている

require 'rubygems'
require 'zip/zip'

私のコントローラーで

しかし、私はまだ同じエラーを受け取ります - ロードするそのようなファイルはありません - zip/zip UbuntuでRails 3.0.5を使用してruby 1.8.7とruby 1.9.2の両方で試しました

手伝っていただけませんか?ありがとう。

4

7 に答える 7

22

多くの時間を費やした後、私はついに不足している部分を見つけました。rubyzipgemを使用するときは、require も必要zip/zipでした。

これを Gemfile に追加します

gem 'rubyzip', :require => 'zip/zip'

追加するだけgem 'rubyzipではうまくいきませんでした。

于 2011-06-06T23:42:33.170 に答える
7

rubyzip を 1.0.0 にアップグレードするときは、 に変更require 'zip/zip'require 'zip'ます。

https://stackoverflow.com/a/19506372/567399

于 2013-10-21T23:07:45.177 に答える
3

また、解凍プロセスで以下が使用されていることを確認してください。

Zip::ZipFile.open(self.data) do |zipfile|

いいえ

Zip::Zipfile.open(self.data) do |zipfile|

ZipFile の大文字 F が違いを生みます。

于 2012-08-17T12:39:23.073 に答える
1

私の場合、私はから変更する必要がありました

Zip::File.open(...)

Zip::ZipFile.open(...)

もちろん、これも Gemfile に追加する必要があります。

gem 'rubyzip', :require => 'zip/zip'
于 2013-06-20T09:10:55.560 に答える
1

rubyzipこのスレッドに問題があり、このスレッドに出くわした他の人は、いつでも外部のコマンドライン zip ユーティリティにシェルアウトできることを覚えておいてください。Google で検索できる無料のコマンドライン ユーティリティが多数あります。選択したコマンドライン zip プログラムをインストールし、それがシステム パス上にあることを確認したら、バッククォートを使用して Ruby 内から実行します。もちろん、これは Heroku などで実行されている Web アプリケーションでは機能しません。

于 2012-05-22T15:41:05.067 に答える