J'ai une boucle comme celle-ci:
<% @posts.each do |post| %>
<% render middle %>
<% end %>
Ensuite, dans ma partie centrale, comment puis-je accéder au poste actuel?
Essaye ça:
<% @posts.each do |post| %>
<%= render 'middle', :post => post %>
<% end %>
Comme cela, vous aurez une variable locale post
disponible dans le partiel.
Donne-le au partiel en tant que variable locale
<%= render :partial => 'middle', :locals => { :post => post } %>
Bien sûr, Rails a aussi un raccourci pour le rendu des collections:
<%= render :partial => 'post', :collection => @posts %>
Dans ce cas, il appelle la publication partielle pour chaque publication avec une variable locale "post"
Vous pouvez même rendre un modèle d'espacement entre chaque publication:
<%= render :partial => 'post', :collection => @posts, :spacer_template => 'post_divider' %>
<% @posts.each do |post| %>
<% render middle, :post => post %>
<% end %>
Vous pouvez maintenant accéder à post en tant que variable locale post
dans la partie
Remplacer <%= render middle %>
avec <%= render middle, :post => post %>
. Ensuite, dans votre middle
partial, vous pouvez accéder à la variable post
.