rails6 部分共通テンプレートを作成する

rails6 部分共通テンプレートを作成する

rails6で、application.html.erbで読み込む部分共通テンプレートを作成するまでの手順を記述してます。railsのバージョンは6.1.0です。

環境

  • OS ubuntu20.10
  • ruby 2.7.2
  • rails 6.1.0
  • Postgresql 13.1 (dockerで構築)

部分共通テンプレート作成

共通テンプレート「application.html.erb」で読み込むテンプレートを作成します。

まず「app/views/layouts」配下に「shared」ディレクトリを作成します。

次に読み込むテンプレート「_side.html.erb」というファイルを作成します。
※ファイル名には必ず「_」が必要となります。

作成できれば、後は「application.html.erb」側に、以下のコードを追加します。

<%= render "layouts/shared/side" %>

これで「_side.html.erb」という部分共通テンプレートを使用することが可能になります。

ActionView::MissingTemplate発生

「ActionView::MissingTemplate」が発生する場合は、テンプレート名が間違っているか、ファイルが存在しない可能性が高いので確認してみて下さい。