k01ken’s b10g

He110 W0r1d!

Ruby on Railsで部分テンプレートを使う

開発環境はWindows 7 Professional(32bit)+Ruby 2.3.3p222+Rails 4.2.1。

ヘッダーやフッターやサイドバーやメニューなど、複数のページで共有部分を使いまわしたい場合は、部分テンプレートを用いる。

・ファイルの先頭名にはアンダーバーをつけること。単語と単語の間にアンダーバーは別に入れなくてもエラーにはならないが、見栄えの問題で入れておくと良い。
・同じコントロール内でのみ使用するなら、app/views/コントロールディレクトリに置き、複数のコントロールで使用するなら、app/views/ディレクトリに任意のディレクトリ名をつけて、そこに置く。慣例的には、sharedをつけるらしい。
・部分テンプレートを読み込む側では、<%= render 'ディレクトリ名/部分テンプレート名' %>で読み込む。
例えば、sharedフォルダ内に、_login_form.html.erbという部分テンプレートがあれば、

<%= render 'shared/login_form' %>

という風に、先頭のアンダーバー部分と、.html.erbという拡張子部分を除いて記述するので注意。

参考リンク
部分テンプレート - Ruby on Rails入門