Saya memiliki loop seperti ini:
<% @posts.each do |post| %>
<% render middle %>
<% end %>
Lalu di parsial tengah saya, bagaimana cara mengakses pos saat ini?
ruby-on-rails
ruby
ruby-on-rails-3
Elliot
sumber
sumber
Jawaban:
Coba ini:
Seperti ini, Anda akan memiliki variabel lokal yang
post
tersedia di sebagian.sumber
<%= render 'middle', :post => post %>
rel 3.1.xBerikan ke parsial sebagai variabel lokal
Tentu saja, rel juga memiliki pintasan untuk merender koleksi:
Dalam hal ini ia akan memanggil posting parsial untuk setiap posting dengan variabel lokal 'posting'
Anda bahkan dapat merender template spacer di antara setiap posting:
sumber
<%= render :partial => 'post', :collection => @posts, as: :post %>
akan secara otomatis melalui masing-masingpost
parsial Anda, sehingga Anda dapat menggunakanpost
parsial Anda sebagai variabel.Anda sekarang dapat mengakses pos sebagai variabel lokal
post
di parsialsumber
Ganti
<%= render middle %>
dengan<%= render middle, :post => post %>
. Kemudian dimiddle
parsial Anda, Anda dapat mengaksespost
variabel.sumber