Ich habe eine Schleife wie diese:
<% @posts.each do |post| %>
<% render middle %>
<% end %>
Wie greife ich dann in meinem mittleren Teil auf den aktuellen Beitrag zu?
ruby-on-rails
ruby
ruby-on-rails-3
Elliot
quelle
quelle
Antworten:
Versuche dies:
Auf diese Weise
post
steht im Teil eine lokale Variable zur Verfügung.quelle
<%= render 'middle', :post => post %>
für Schienen 3.1.xGeben Sie es dem Teil als lokale Variable
Natürlich hat Rails auch eine Verknüpfung zum Rendern von Sammlungen:
In diesem Fall wird der Teilbeitrag für jeden Beitrag mit einer lokalen Variablen 'Beitrag' aufgerufen.
Sie können sogar eine Spacer-Vorlage zwischen den einzelnen Posts rendern:
quelle
<%= render :partial => 'post', :collection => @posts, as: :post %>
wird automatischpost
in Ihrem Teil durchlaufen , so dass Siepost
in Ihrem Teil als Variable verwenden können.Sie können jetzt als lokale Variable
post
im Teil auf post zugreifenquelle
Ersetzen
<%= render middle %>
durch<%= render middle, :post => post %>
. Dann können Sie in Ihremmiddle
Teil auf diepost
Variable zugreifen .quelle