renderメソッドの使い方(インスタンス変数を渡す場合)
基本形
<%= render partial: 'articles/article', locals: { article: @article } %>
_article.html.erbの部分テンプレートにarticleと言う名前で@articleのインスタンスを使用します。
省略形
<%= render 'articles/article', article: @article %>
さらに省略形
<%= render @article %>
繰り返し処理に利用してみる
インスタンスが複数ある場合
articles_controller.rb def index @articles = Article.all end
パーシャルの例
_article.html.erb <article> <header class="post-info"> <h2 class="post-title"><%= article.title %></h2> <p class="post-date"><%= article.date %></p> </header> <div class="post-content"><%= article.content %></div> </article>
繰り返しで個別のインスタンスごとのパーシャルを呼び出す
index.html.erb <% @articles.each do |article| %> <%= render partial: "article", article: article %> <% end %>
しかしこっちの方がパフォーマンスがいいそうです。
index.html.erb <%= render @articles %>