No route matches [GET] /assets | Railsトラブルシュート


Ruby on Railsで/assetsを返せない次のエラーの原因と対策をまとめました。

ActionController::RoutingError (No route matches [GET] "/assets...

😀 対策

Rails 5以上の場合はconfig/environments/production.rbに次の設定を追加します。

# 静的なファイルをRailsから返す
config.public_file_server.enabled = true

Rails 5未満の場合はconfig/environments/production.rbに次の設定を追加します。

🐯 エラーの原因

Rubyでassetsなどの静的なファイルを返すように設定をしていない場合にこのエラーが発生します。

config.serve_static_files = false

🎃 補足:本番はApacheやnginxで静的ファイルを返すべき

本番ではApacheやnginxで静的ファイルを返した方がRailsへの負荷を抑えて、パフォーマンスを向上できます。

🤔 補足:Herokuの場合はrails_12factorを使う

Herokuを使う場合はRubyGem「heroku/rails_12factor」をGemfileに追加するとデフォルトで設定してくれます。

😸 参考リンク

😆 サービスの成長に真剣にコミットしてくれる人募集!

個人で開発しているサービスが月間21万PV、月次20%PV増、直近は1万PV/日まで成長してきました。 誰でも「安く」、「良いもの」を「すぐに見つけて」買い物ができるサービスです。 売買の体験を圧倒的に「簡単」にするプラットフォームに成長させたいです。

一緒にグロースに挑戦してくれる Rails エンジニア、デザイナ、ディレクターさんを探しています。 法人化を予定しており、スキルに応じて適切な給与をお支払いします。(一定割合は Exit 時)

様子見大歓迎です!少しでも興味を持って頂けるようであれば、『 bosyu 』からご連絡ください!

🖥 VULTRおすすめ

VULTR」はVPSサーバのサービスです。日本にリージョンがあり、最安は512MBで2.5ドル/月($0.004/時間)で借りることができます。4GBメモリでも月20ドルです。 最近はVULTRのヘビーユーザーになので、「ここ」から会員登録してもらえるとサービス開発が捗ります!

📚 おすすめの書籍