Eu tenho um loop como este:
<% @posts.each do |post| %>
<% render middle %>
<% end %>
Então, no meu meio parcial, como faço para acessar a postagem atual?
ruby-on-rails
ruby
ruby-on-rails-3
Elliot
fonte
fonte
Respostas:
Tente o seguinte:
Assim, você terá uma variável local
post
disponível na parcial.fonte
<%= render 'middle', :post => post %>
dos trilhos 3.1.xDê para o parcial como uma variável local
Obviamente, o Rails também possui um atalho para renderizar coleções:
Nesse caso, ele chamará a postagem parcial para cada postagem com a variável local 'post'
Você pode até renderizar um modelo espaçador entre cada postagem:
fonte
<%= render :partial => 'post', :collection => @posts, as: :post %>
irá percorrer automaticamente cada umpost
na sua parcial, para que você possa usá-lapost
como variável.Agora você pode acessar a postagem como a variável local
post
na parcialfonte
Substitua
<%= render middle %>
por<%= render middle, :post => post %>
. Então, no seumiddle
parcial, você pode acessar apost
variável.fonte