hanmoto の設定
ソニックガーデンの方が作成されたgem。同社で1年以上にわたって運用実績があるとのこと。
参考
- Railsでpublic以下の静的ページ(404.htmlといったエラーページ等)をデプロイ時に生成するgemを作った - Qiita
- aki77/hanmoto: Public pages management with Asset Pipeline.
gemをインストール。
gem "hanmoto"
設定ファイルを生成。
touch config/initializers/hanmoto.rb
以下を追記。
Hanmoto.configure do |config| config.view_dir = 'public_pages' config.layouts = { html: 'public' } end
エラーページのテンプレートファイルを作成。
touch app/views/layouts/public.html.slim
中身はこんな感じで。meta charset="utf-8"
を設定しないとローカルでは文字化けした。
doctype html html head meta charset="utf-8" title | testtest = stylesheet_link_tag 'application', media: 'all' = javascript_pack_tag 'application', 'data-turbolinks-track': 'reload' body = yield
各種エラーページファイルを生成。
#public_pagesディレクトリを作成 mkdir app/views/public_pages #エラーファイルを作成 touch app/views/public_pages/404.html.slim touch app/views/public_pages/500.html.slim touch app/views/public_pages/422.html.slim
それぞれのファイルにエラーメッセージを書く。
そして、以下のどちらかのコマンドでエラーページの静的ファイルを出力できる。これをしないと表示が変わらないので注意。
#以下のどちらかを実行する rake assets:precompile rake hanmoto:publish
これで http://localhost:3000/404.html などにアクセスしてみると表示される。