zip のダウンロードに問題があります。正常に動作しますが、ビルド メソッドは html ファイルをレンダリングし、次のようなリンクを提供します。
<script src="/assets/impress.js?body=1" type="text/javascript"></script>
一方、相対パスである必要があります:
<script src="assets/impress.js?body=1" type="text/javascript"></script>
Rubyを使用してリンクの先頭にある「/」を削除するにはどうすればよいですか? これは、zip gem を使用したコード セクションです。
def download
build
data = render_to_string :build
js_path = Rails.root.join("vendor", "assets", "javascripts")
zip = Zip::OutputStream.write_buffer do |out|
out.put_next_entry("index.html")
out.write(data)
out.put_next_entry("assets/impress.js")
out.write File.read js_path.join("impress.js")
end
zip.rewind
binary_zip = zip.sysread
send_data(binary_zip, {filename: "impress.zip"})
end