Ich habe eine Schleife wie solche:Eine Variable in eine partielle, Schienen 3?
<% @posts.each do |post| %>
<% render middle %>
<% end %>
Da ist in meinem mittleren Teil, wie kann ich den aktuellen Beitrag zugreifen?
Ich habe eine Schleife wie solche:Eine Variable in eine partielle, Schienen 3?
<% @posts.each do |post| %>
<% render middle %>
<% end %>
Da ist in meinem mittleren Teil, wie kann ich den aktuellen Beitrag zugreifen?
Try this:
<% @posts.each do |post| %>
<%= render 'middle', :post => post %>
<% end %>
Like this Sie eine lokale Variable post
innerhalb des Teils zur Verfügung haben.
Ersetzen Sie <%= render middle %>
durch <%= render middle, :post => post %>
. Dann können Sie in Ihrer middle
teilweise auf die Variable post
zugreifen.
<% @posts.each do |post| %>
<% render middle, :post => post %>
<% end %>
können Sie nun Posten als lokale Variable zugreifen post
im Teil
Geben Sie es auf die teilweise als lokale Variable
<%= render :partial => 'middle', :locals => { :post => post } %>
Natürlich Schienen hat auch eine Abkürzung für das Rendern Sammlungen:
<%= render :partial => 'post', :collection => @posts %>
In diesem Fall wird es den Par anrufen TiAl Beitrag für jeden Beitrag mit einer lokalen Variablen ‚post‘
Sie können sogar eine Spacer-Vorlage zwischen jedem Beitrag leisten:
<%= render :partial => 'post', :collection => @posts, :spacer_template => 'post_divider' %>
Wusste nicht über die: spacer_template Option, wirklich nett. Vielen Dank! –
Beachten Sie, dass der Hash-Parameter "localhosts" bei der Verwendung von Rails 3 nicht benötigt wird. Der Argument-Hash wird in Argumente konvertiert, die an das partielle Argument übergeben werden. – superluminary
Ich brauchte noch: Locals Hash für es zu arbeiten .. Ich bin am Laufen 3.2.12 – mck
Hallo Elliot ich dies auf Standard rüstet bin mit. Verwenden Sie in index.html.erb, um _show.html.erb darzustellen, wobei show partially modal enthält. Alles funktioniert gut, außer dass ich beim Drücken von show link die gleiche ID anstelle der IDs anzeige. – learner