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

f:id:kikiMustang:20201123213840j:image

フォーム部分もまとめる

_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も上記にまとめる