J'ai une boucle comme celle-ci:
<% @posts.each do |post| %>
<% render middle %>
<% end %>
Ensuite, dans mon partiel du milieu, comment accéder à la publication actuelle?
J'ai une boucle comme celle-ci:
<% @posts.each do |post| %>
<% render middle %>
<% end %>
Ensuite, dans mon partiel du milieu, comment accéder à la publication actuelle?
Réponses:
Essaye ça:
Comme ça, vous aurez une variable locale
post
disponible dans le partiel.la source
<%= render 'middle', :post => post %>
de rails 3.1.xDonnez-le au partiel comme variable locale
Bien sûr, rails a également un raccourci pour le rendu des collections:
Dans ce cas, il appellera le post partiel pour chaque poste avec une variable locale 'post'
Vous pouvez même rendre un modèle d'espacement entre chaque article:
la source
<%= render :partial => 'post', :collection => @posts, as: :post %>
bouclera automatiquement chacunpost
dans votre partiel, vous pouvez donc utiliserpost
dans votre partiel comme variable.Vous pouvez maintenant accéder à la publication en tant que variable locale
post
dans le partiella source
Remplacez
<%= render middle %>
par<%= render middle, :post => post %>
. Ensuite, dans votremiddle
partiel, vous pouvez accéder à lapost
variable.la source