2013-08-29 11 views
10

Im próbuje otworzyć plik docx i odpisać na niego przy użyciu rubyzip 1.0.0 i szyn 3.szyny 3 i rubyzip 1.0.0 niezainicjowany stała Zip :: zipfile

W moim gemfile mam:

gem 'rubyzip' 

i kod, który używam jest;

module Look 

    class Generator 

    def initialize(item) 
     doc = Nokogiri::XML.parse(item.to_xml) 
     xslt = Nokogiri::XSLT(File.read("<path_to_xslt_file>.xslt")) 
     @outxml=xslt.transform(doc) 
     zip = Zip::ZipFile.open("<path_to_docx_file>.docx") 
     @outxml 
    end 

    end 

end 

Choć @outxml jest poprawnie utworzone (można ręcznie dodać go do pliku docx i zobacz wyniki), nie mogę nawet zacząć tworząc plik zip z tego powodu ...

uninitialized constant Zip::ZipFile 

Po sprawdzeniu całej dokumentacji i wypróbowaniu wielu kombinacji wciąż jestem kompletnie zakłopotany.

Czy ktoś może mi powiedzieć, dlaczego to nie zadziała?

Dzięki.

+0

Tylko zorientowali ten jeden sprawdzając najnowszą dokumentację. Wydaje się, że wersja 1.0.0 została wydana tylko dzisiaj, więc wszystko, co przeczytałem, było nieaktualne. W każdym razie rozwiązaniem jest użycie Zip :: File.open. – mvanio

+0

Możesz chcieć uczynić ten komentarz faktyczną odpowiedzią, a następnie wybrać ją jako poprawną odpowiedź, aby ludzie w przyszłości mogli ją łatwo znaleźć. –

+0

Tak. SO nie pozwoliłoby mi dodać tego jako odpowiedzi, zanim minęło 8 godzin. – mvanio

Odpowiedz

16

Właśnie wymyśliłem to, sprawdzając najnowszą dokumentację. Wydaje się, że wersja 1.0.0 została wydana tylko dzisiaj, więc wszystko, co przeczytałem, było nieaktualne.

Zresztą rozwiązaniem jest użycie

Zip::File.open