SuzuBlog

webのお勉強はじめたばかりの初心者。備忘録

Rails基礎 フォームの共通部品(partial)

partialとは?

複数の画面で同じ部品を使用している場合に、その部分を切り出してpartialファイルに置くことで、 使用するviewで呼び出すだけでその部品を展開してくれる仕組み。

_(アンダーバー)から始める慣例があるため、_名前.html.erbというファイルを作成する。

呼び出す方法

呼び出す(使用する)フォームでpartialにある部品を使用したい箇所で

<%= render (partial:) '名前' %> 

とすれば、その場所に展開してくれる。

変数を渡す

共通部品に変数を渡したい場合は 呼び出す側で

<%= render  '名前', 変数名 :変数 %> 

としてあげて、共通部品のフォームで

<%= 変数名 %>

で表示したりできる。

renderとは

レンダリングは、ビューファイルからHTMLを生成し、見た目、装飾を変換してブラウザに表示してくれる流れのこと。

renderはその元になるファイルを指定してあげることができるので、

「ここはこのフォームを読み込んで表示してね」

といった指定をすることが可能になる。

ビューや、コントローラーでも使用することができる。

これがあることで、同じコードを何回も書く必要がなくなり、メンテする場合も1箇所で済むようになるので、 呼び出す側のコードも短くなるし、保守性も上がる。

Railsの基本哲学のうちの1つ、 DRY:Don't Rpeat Yourself(同じことを繰り返さない) に繋がるのかな、と、partialについて学んでいて感じた。