developmentでは見れたのに、productionじゃ見れないのはなぜ…となるときに見直す設定
環境
$ bin/rails -v Rails 6.0.4.1
想定している状況
/public配下のファイルが、RAILS_ENVがdevelopmentだと見れて、productionのときに見れないときに考える設定
Railsガイド曰く
public/ディレクトリ内の静的アセットを配信するかどうかを指定します。デフォルトではtrueが設定されますが、production環境ではアプリケーションを実行するNginxやApacheなどのサーバーが静的アセットを扱う必要があるので、falseに設定されます。 - Rails アプリケーションを設定する - Railsガイド - 3.1.35 config.public_file_server.enabled
ソースコード上も初期値はtrue
どこで設定するのか
デフォルトのRailsであれば config/environments
のRAILS_ENV別の設定
productionに関しては以下のようになっている
# Disable serving static files from the `/public` folder by default since # Apache or NGINX already handles this. config.public_file_server.enabled = ENV['RAILS_SERVE_STATIC_FILES'].present?