with rails ruby-on-rails ruby ruby-on-rails-3

ruby on rails - rails - Pasar una variable a un parcial, rieles 3?



render partial with parameters rails (4)

Tengo un ciclo como este:

<% @posts.each do |post| %> <% render middle %> <% end %>

Luego, en mi parcial medio, ¿cómo accedo a la publicación actual?


Déle al parcial como una variable local

<%= render :partial => ''middle'', :locals => { :post => post } %>

Por supuesto, Rails también tiene un atajo para renderizar colecciones:

<%= render :partial => ''post'', :collection => @posts %>

En este caso, llamará a la publicación parcial para cada publicación con una variable local ''publicación''

Incluso puede renderizar una plantilla espaciadora entre cada publicación:

<%= render :partial => ''post'', :collection => @posts, :spacer_template => ''post_divider'' %>


Prueba esto:

<% @posts.each do |post| %> <%= render ''middle'', :post => post %> <% end %>

De esta manera, tendrás una post variable local disponible dentro del parcial.


Reemplace <%= render middle %> con <%= render middle, :post => post %> . Luego, en su parcial middle , puede acceder a la variable de post .


<% @posts.each do |post| %> <% render middle, :post => post %> <% end %>

Ahora puede acceder a la publicación como la post variable local en el parcial