Parciais e variável local
-
22-07-2019 - |
Pergunta
Se queremos passar uma coleção para parcial, fazemos assim:
<%= render :partial => "post", :collection => @posts %>
Se queremos passar um único objeto dentro de uma variável personalizada, fazemos isso:
<%= render :partial => "item", :locals => { :item => @advertisement } %>
Agora, o que devo fazer para passar um coleção , "proxy"-lo através de uma variável personalizada (como o segundo caso)?
Solução
Apenas passá-lo através locals como em seu segundo exemplo
<%= render :partial => "item", :locals => { :posts => @posts } %>
Outras dicas
Você pode fazer uso da outra maneira de chamar parciais:
render(:partial => 'post', :object => @posts)
Eu encontrei usando: como parâmetro muito mais clara:
<%= render :partial => "item", :collection => @rabbits, :as => :item %>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow