#部分テンプレートとは#
「部分テンプレート」っていうのは、
同じところをまとめておいて、それを使い回すやつ。
例えば、
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歳で、男の子で、ゲームが好きで、マックのハンバーガーが好き。」って書く。
9歳で、男の子で、ゲームが好きで、マックのハンバーガーが好き。
(ソースコードに日本語を書くのに不快感を覚えた自分に驚いたんだよね。。)
ちなみに、この時に「@」を使っていたら、とった方が良いらしい。
(ハンバーガー前にあった「@」をとった)
##③まとめたやつを使うとこにrenderを使って書く##
あとは、実際に使いたいところに使うだけ。
使い方は決まっていて、
<%= render '[view以降のファイル名]', [@をとったやつ]:[@をつけたやつ] %>
例で言うと、
<%= render 'devise/shared/こんな人', ハンバーガー:@ハンバーガー %>
この記述をそれぞれに書いていく。
まとめると、
①ファイル「_○○.html.erb」作って、 ②その中に何回も使うことを書いて、 ③それを使うとこにrenderで書く。