LoginSignup
1
0

More than 3 years have passed since last update.

Rails 部分テンプレートについて メモ

Last updated at Posted at 2019-07-21

部分テンプレートとは

部分テンプレートを作成することで
ビューのレイアウトの構造が同じである部分を共通化することで
コーディングをシンプルにすることができる。
ビューファイルごとに記述するコードの量を減らすことができる。

部分テンプレートの作成

部分テンプレートの作成は共通して使用するコードを
記述したビューファイルを作成する。
作成する際は、名前の頭に_(アンダーバー)をつける
決まりがある。

部分テンプレートの使い方

部分テンプレートの作成ができたら、部分テンプレートを使用する
箇所でメソッドを使い、呼び出してあげる必要があります。

renderメソッド

部分テンプレートを使用するにはrenderメソッドを使って呼び出します。

以下記述例(部分テンプレート名 _sample.html.erbの場合)

xxxx.html.erb
<%= render partial: "sample", locals: { tweet: "hello!" } %>

・partial
partialには部分テンプレートのファイル名を指定します。ただし_(アンダーバー)は記述しないので注意。
部分テンプレートファイルが呼び出すビューファイルと別のフォルダにある場合は、
partial: "samples/hello"のようにファイルの場所を指定します。

・locals
localsは部分テンプレートにある変数に対して指定の値を渡すために使います。
上記の例だと部分テンプレートに記述されているtweetという変数には"Hello!"を代入するように
指定していることになります。

おわりに

共通のビューというとappliction.html.erbがあるが
これはビューファイル全体に共通するコードを記述する場所であり
ビューファイルが読み込まれる際は、appliction.html.erb
が呼ばれ、その上で処理ごとのビューファイルが読み込まれる。

表示画面のイメージ

・部分テンプレートあり
appliction.html.erb + ビューファイル(部分テンプレート)

・部分テンプレートなし
appliction.html.erb + ビューファイル

1
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0