2017-05-30 10 views
2

書き込みモードでzipファイルを開こうとすると、以下のメッセージが記録されます。ruby​​zip未定義のメソッド `to_binary_dos_time 'の

完全なエラーメッセージ:

undefined method `to_binary_dos_time' for 2017-05-30 15:07:21 +0530:Time 

バックトレース:

["/usr/local/lib/ruby/gems/2.1.0/gems/rubyzip-0.9.9/lib/zip/zip_entry.rb:286:in `write_local_entry'", 
    "/usr/local/lib/ruby/gems/2.1.0/gems/rubyzip-0.9.9/lib/zip/zip_output_stream.rb:147:in `block in update_local_headers'", 
    "/usr/local/lib/ruby/gems/2.1.0/gems/rubyzip-0.9.9/lib/zip/zip_entry_set.rb:35:in `each'", 
    "/usr/local/lib/ruby/gems/2.1.0/gems/rubyzip-0.9.9/lib/zip/zip_entry_set.rb:35:in `each'", 
    "/usr/local/lib/ruby/gems/2.1.0/gems/rubyzip-0.9.9/lib/zip/zip_output_stream.rb:145:in `update_local_headers'", 
    "/usr/local/lib/ruby/gems/2.1.0/gems/rubyzip-0.9.9/lib/zip/zip_output_stream.rb:64:in `close'", 
    "/usr/local/lib/ruby/gems/2.1.0/gems/rubyzip-0.9.9/lib/zip/zip_output_stream.rb:50:in `ensure in open'", 
    "/usr/local/lib/ruby/gems/2.1.0/gems/rubyzip-0.9.9/lib/zip/zip_output_stream.rb:50:in `open'", 
    "/usr/local/lib/ruby/gems/2.1.0/gems/rubyzip-0.9.9/lib/zip/zip_file.rb:216:in `block in commit'", 
    "/usr/local/lib/ruby/gems/2.1.0/gems/rubyzip-0.9.9/lib/zip/zip_file.rb:324:in `on_success_replace'", 
    "/usr/local/lib/ruby/gems/2.1.0/gems/rubyzip-0.9.9/lib/zip/zip_file.rb:214:in `commit'", 
    "/usr/local/lib/ruby/gems/2.1.0/gems/rubyzip-0.9.9/lib/zip/zip_file.rb:242:in `close'", 
    "/usr/local/lib/ruby/gems/2.1.0/gems/rubyzip-0.9.9/lib/zip/zip_file.rb:92:in `open'", 
    "/app/zipper_job.rb:36:in `perform'", 

私のコードは以下の通りです。

path="#{Rails.root}" 
new_zip_name= "#{Time.now.to_i.to_s}" 
archive = File.join(path,new_zip_name)+'.zip' 
Zip::ZipFile.open(archive, 'w') do |zipfile| #Code breaking on this line 
    #MY Code 
end 

どのようなヘルプappriciated! ありがとうございます。

答えて

1

config/initializers/patch.rbという名前の新しいファイルを作成しました。

これに以下のコードを追加しました。これで問題は解決しました。

Zip::DOSTime.instance_eval do 
    def now ; Zip::DOSTime.new() ; end 
end 

私はhere

から取られているパッチ
関連する問題