【Rails 部分テンプレート(小学生でも分かる解説)】


部分テンプレートとは

「部分テンプレート」っていうのは、
同じところをまとめておいて、それを使い回すやつ。

例えば、
AくんとBくんとCくんがいる。
3人ともみんな、9歳で、男の子で、ゲームが好きで、マックの@ハンバーガーが好き。

(「@」は、いったん気にしないで)

この時に、
「Aくんは9歳で、男の子で、ゲームが好きで、マックの@ハンバーガーが好き。
Bくんは9歳で、男の子で、ゲームが好きで、マックの@ハンバーガーが好き。
Cくんは9歳で、男の子で、ゲームが好きで、マックの@ハンバーガーが好き。」

これは、、長いしだるいしめんどいし、字で書くのも大変。

そこで、「9歳で、男の子で、ゲームが好きで、マックの@ハンバーガーが好き。」っていうところを「こんな人」と言い換える。

「こんな人」=「9歳で、男の子で、ゲームが好きで、マックの@ハンバーガーが好き。」

すると、
「Aくんはこんな人
「Bくんはこんな人
「Cくんはこんな人

こんな短くできる。

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

Railsでの使い方は以下の感じ。

①「_好きなファイル名.html.erb」を作る

viewsフォルダの好きなとこ(views/devise/sharedが多い)に、

「_好きなファイル名.html.erb」

と言う名前で新規ファイル作成する。

上の例なら、「_こんな人.html.erb」

※ 「 _ 」を最初につけることを忘れずに

②作ったファイルにまとめたいことを書く

①で作ったファイル内にまとめたいことを書く。(すでに書いていたら、コピペする)

上の例なら、「9歳で、男の子で、ゲームが好きで、マックのハンバーガーが好き。」って書く。

_こんな人.html.erb
9歳で、男の子で、ゲームが好きで、マックのハンバーガーが好き。

(ソースコードに日本語を書くのに不快感を覚えた自分に驚いたんだよね。。

ちなみに、この時に「@」を使っていたら、とった方が良いらしい。
(ハンバーガー前にあった「@」をとった)

③まとめたやつを使うとこにrenderを使って書く

あとは、実際に使いたいところに使うだけ。
使い方は決まっていて、

<%= render '[view以降のファイル名]', [@をとったやつ]:[@をつけたやつ] %>

例で言うと、

<%= render 'devise/shared/こんな人', ハンバーガー:@ハンバーガー %>

この記述をそれぞれに書いていく。

まとめると、


①ファイル「_○○.html.erb」作って、
②その中に何回も使うことを書いて、
③それを使うとこにrenderで書く。