Skript funguje úplne v poriadku. Jediným problémom, ktorému čelím, je cesta. Po vytvorení súboru zip. Ak jeho rozbalím. má úplnú cestu k súboru ako: -
/name_the_file/Users/user_name/projects/project_name/public/system/files/10/original/*
Len to chcem stihnúť
name_of_the_file/*
desc "Create Zip file"
task :create_zip => :environment do
directory_path = "#{RAILS_ROOT}/public/system/files/10/original"
bundle_filename="#{directory_path}/"+ "name_of_file.zip"
filenames = "#{directory_path}/*"
%x{ cd #{directory_path}}
%x{ zip -r #{bundle_filename} #{filenames}}
end
PS: - Chcem vytvárať súbory zip. Žiadny decht, gzip atď
odpovede:
2 pre odpoveď č. 1Tu je riešenie: -
%x{ zip -r -j #{bundle_filename} #{filenames}}
Normálne by to malo za následok zip obsahujúci tri „podadresáre“:
a/
+ file1
b/
+ file2
c/
+ file3
S -j získate:
./
+ file1
+ file2
+ file3
1 pre odpoveď č. 2
Ku každému názvu súboru dodávate celú cestu k adresáru. Pretože ste sa už v danom adresári zmenili, nemusíte to robiť.
Inými slovami, ak zmeníte svoje filenames
premenná na:
filenames = "*"
Malo by to fungovať podľa vašich predstáv.