Ich habe eine Sammlung von Gegenständen ich mit einem Teil machen möge:Rails: Render-Sammlung Teil: Erste Größe Sammlung innerhalb Teil
@items = ['a','b','c']
<%= render :collection => @items, :partial => 'item' %>
und ich mag die Elemente mit aufsteigenden Zahlen nummerieren. So soll die Ausgabe sein:
3: a
2: b
1: c
Ich weiß, Schienen liefert einen Zähler in der teilweise, so dass, wenn ich die Elementen absteigend zur Nummer wollte, kann ich den folgenden Teil erstellen:
<%= item_counter %>: <%= item %>
die gibt mir
1: a
2: b
3: c
Aber für die aufsteigend Zahlen, ich brauche die Gesamtzahl o f Artikel, die ich mit einem lokalen Teil bieten könnte:
<%= render :collection => @items, :partial => 'item', :locals => {:total => @items.size} %>
und dann im Teil:
<%= total - item_counter %>: <%= item %>
Aber es fühlt sich für mich wie Wiederholung, weil die Methode macht bereits über die weiß Größe der Sammlung.
Gibt es wirklich keine Möglichkeit, die Gesamtzahl der Elemente einer Sammlung in einem Teil zu erhalten, außer mit einer lokalen Variablen?
Nummer [Überzeugen Sie sich selbst] (https://github.com/rails/rails/blob/master/actionpack/lib/action_view/renderer/partial_renderer.rb) –
sah ich dort, aber ich dachte, dass ich hat etwas gefehlt. –