Ruby on Rails 7.x.x がパブリック フォルダーをレンダリングしないのはなぜですか?ファビコンや 404.html ページではありません。モジュールを使用していますが、動作しません
概要
私は懸念を利用します
module ErrorHandling
extend ActiveSupport::Concern
included do
rescue_from ActiveRecord::RecordNotFound, with: :notfound
private
def notfound(exception)
logger.warn exception
render file: 'public/404.html', status: :not_found, layout: false
end
end
end
そして、それをApplicationクラスに含めますErrorHandlingを含めますが、ファイル「public/404.html」をレンダリングしません。何が問題ですか?
この問題を解決するために全力を尽くしていますが、何もできません
解決策
render: ファイルに相対パス名を渡すと、Raiuls は次のメッセージを含む ArgumentError をスローします。
`render file:` should be given the absolute path to a file. 'public/404.html' was given instead
ここで相対パスを渡す機能は Rails 6.0 で非推奨となり、Rails 6.1.0 で最終的に削除されました。
RAW ファイルをレンダリングするには、現在のドキュメントに従う必要があります。