Ruby on Rails(PicTweet)
複数ページで利用する表示の一部をまとめよう
部分テンプレートとは、ビューファイルで繰り返し使用するコードを切り出し、再利用する仕組みのこと
app/views/tweetsに_tweet.html.erbを作成する
そしてindex.html.erbの3〜26行目を⌘+xで切り取る
そして⌘+vで先程作成したファイルに書く
先ほど切り取った箇所で、部分テンプレートを呼びだす
<%= render partial: "tweet", locals: { tweet: tweet }%>
次に部分テンプレートを適用する
すでに部分テンプレートは作成してあるので、使用するファイルを呼び出すだけである
app/views/users/show.html.erb
フォーム部分もまとめる
_form.html.erbをapp/views/tweetsに追加
new.html.erbの4〜8行目を切り取り新ファイルに追加
そして1行目を下記に置き換える
<%=form_with(model: tweet, local: true) do |form|%>
先程切り取った箇所で、部分テンプレートを呼び出す
<%= render partial: "form", locals:{tweet: @tweet } %>
edit.html.erbも上記にまとめる