Techioz Blog

Rails で完全な HTML ページを保存する方法

概要

Rails 4アプリケーションからディスクにWebページを保存しようとしています。

ファイルは正常に保存されましたが、CSSが欠落しています。

次のように type 属性を追加してみました。

しかし役に立ちませんでした。

すべての CSS (および潜在的に他のアセット) を含むファイルを保存して、保存したファイルをクリックすると、保存しようとしたものと同じものが表示されるようにするにはどうすればよいですか?

解決策

render_to_string は HTML 部分のみをレンダリングします。ブラウザが HTML ページをロードするときに受け取る文字列とまったく同じ文字列を返します。スタイルシートとその他のアセットは追加のリクエストでロードされます。したがって、オプションは 1 つだけ表示されます。それは、インライン CSS を使用した HTML テンプレート/レイアウトの render_to_string です。

別のオプションとして、JavaScript を使用して [名前を付けて保存] ダイアログを開くこともできます。しかし、そうするための標準化された方法はないようです。