Rails基礎 フォームの共通部品(partial)
partialとは?
複数の画面で同じ部品を使用している場合に、その部分を切り出してpartialファイルに置くことで、 使用するviewで呼び出すだけでその部品を展開してくれる仕組み。
_(アンダーバー)から始める慣例があるため、_名前.html.erb
というファイルを作成する。
呼び出す方法
呼び出す(使用する)フォームでpartialにある部品を使用したい箇所で
<%= render (partial:) '名前' %>
とすれば、その場所に展開してくれる。
変数を渡す
共通部品に変数を渡したい場合は 呼び出す側で
<%= render '名前', 変数名 :変数 %>
としてあげて、共通部品のフォームで
<%= 変数名 %>
で表示したりできる。
renderとは
レンダリングは、ビューファイルからHTMLを生成し、見た目、装飾を変換してブラウザに表示してくれる流れのこと。
renderはその元になるファイルを指定してあげることができるので、
「ここはこのフォームを読み込んで表示してね」
といった指定をすることが可能になる。
ビューや、コントローラーでも使用することができる。
これがあることで、同じコードを何回も書く必要がなくなり、メンテする場合も1箇所で済むようになるので、 呼び出す側のコードも短くなるし、保守性も上がる。
Railsの基本哲学のうちの1つ、 DRY:Don't Rpeat Yourself(同じことを繰り返さない) に繋がるのかな、と、partialについて学んでいて感じた。