2017-12-06 7 views
0

私はRails 5開発サイトを公開サーバ上で実行しています。プロジェクトは開発モードにもあります。私はGoogle Page Speed Insightsでサイトをスキャンしており、最も大きな提案の1つはブラウザのキャッシュを活用することでした。だから、私はGoogleで周りを見回し、すべての答えは、このコードを使用するように言う:Rails 5 - Google Page Speed Insights - ブラウザキャッシングを活用する

config.public_file_server.headers = { 
    'Cache-Control' => 'public, s-maxage=31536000, maxage=15552000', 
    'Expires' => "#{1.year.from_now.to_formatted_s(:rfc822)}" 
} 

プロジェクトが開発モードであるので、私は私のdevelopment.rbファイルではなく、production.rbにこのコードを置きます。私はこれを行うことで、結果を得ることができませんでした。エラーもありません。私はいくつかの指針を使うことができました前もって感謝します。

答えて

1

開発中のレールサーバーのテストは、水の海を空にしようとするようなものです。本番環境の主な変更点は、パフォーマンスを向上させる構成(キャッシング、クラスのリロード、アセットのコンパイルなど)です。

開発モードでパフォーマンスをテストする場合は、デフォルトのプロダクション設定を開発設定にコピーすることをおすすめします。これは、おそらくあなたのために開発が苦痛になるでしょう。

環境を運用環境に切り替える。

ここであなたの本当の目標は何ですか?

+0

私はすでに別のサーバー上で稼動しているので、弱点(ブラウザのキャッシュ)を特定できました。だから、もし私が開発中のブラウザキャッシングを修正できたら、そのコードを実稼働環境で期待どおりに動作させ、ブラウザキャッシングを修正することが簡単にできると思いました。 –

+1

開発中のキャッシュに関する公式のレール文書をチェックしてください:http://guides.rubyonrails.org/caching_with_rails.html#caching-in-development –

+0

以前に送ったガイドで開発に取り組むべきことはすべて得ました。元の質問に投稿したコードをproduction.rbにドロップし、すべてを再起動し、有効期限と最大年齢は設定されません。他の設定やプロダクションに必要なものがありますか?私は、私のproduction.rbファイルにもこの行のコードを持っています。 config.action_controller.perform_caching = true –

関連する問題