今日から学習したことをブログでシェアしていきます。
こんにちは。
今日はRuby on Railsの部分テンプレートについて、改めて便利だなぁと思いましたので、みなさんにシェアできたらと思います。
まず、部分テンプレートとは、ビューファイルにおいて繰り返し使用するコードを切り出し、再利用する仕組みのことです。 コードがすっきりまとまるということと、複数箇所で使用されている部分に変更があった際でも、1つのファイルの編集だけで済むというメリットがあります。
_◯◯.html.erbファイルを作成し、その中に繰り返し使用するコードを貼り付け、renderメソッドを使って呼び出します。
<% render partial: "sample" %>
このように”partial”というオプションを付け、部分テンプレートを指定することで、該当する部分のテンプレートを表示できます。
さらに”locals"というオプションをつけることで、部分テンプレート内で、その変数を使えるようになります。
<% render partial: "sample", locals: { post: "hello!" } %>
これで"hello!"が"post"に代入されました。
<%= form_with(model: post, local: true) do |form| %> <%= form.text_field :image, placeholder: "Image Url" %> <%= form.text_area :text, placeholder: "text", rows: "10" %> <%= form.submit "SEND" %> <% end %>
これで先ほどlocalsオプションで代入したpostをモデルオプションに指定することで
取り出せるようになりました。
複数ページで利用する表示は、ぜひ部分テンプレートを活用して可読性をあげましょう。
Ruby on Rails を学習していて、たくさん可読性を上げるためのメソッドがあるなと
思いましたので、今後もみなさんとシェアして、一緒に勉強していけたらと思います。