以下の内容はhttps://daido.hatenablog.jp/entry/2020/05/06/233558より取得しました。


Rails の API モードで静的ファイルをホスティングする

環境

結論

以下、二つの方法がある。

config.public_file_server.enabled を true にして public ディレクトリ以下に置く

静的な HTML ファイルを表示させたいだけなら config.public_file_server.enabled を true に設定した環境で public/index.html を作成すれば、ルーティングやコントローラを実装せずとも表示される。(config.public_file_server.enabled は development 環境などでは デフォルトで true

コントローラで render :file する

以下のどちらかをしないと API モードでは render :file できない。

  • コントローラの継承元を ActionController::API から ActionController::Base に変更する
  • ActionView::Rendering モジュールをインクルードする

説明

Rails ガイドより、

ref. https://railsguides.jp/asset_pipeline.html#アセットパイプラインの使用方法

アセットは引き続きpublicディレクトリ以下に置くことも可能です。config.public_file_server.enabledがtrueに設定されていると、publicディレクトリ以下に置かれているあらゆるアセットはアプリケーションまたはWebサーバーによって静的なファイルとして取り扱われます。

とある通り、config.public_file_server.enabled が true になっている場合は public ディレクトリに置かれているファイルは自動的にホストされる。

development 環境の config.public_file_server.enabled は以下のコマンドなどで確認できる。

$ rails r -e development 'p Rails.application.config.public_file_server.enabled'

参考




以上の内容はhttps://daido.hatenablog.jp/entry/2020/05/06/233558より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14