2017-07-22 4 views
1

Ich versuche, die richtige Syntax zum Aufrufen einer Reihe von Dateien im Ordner /data herauszufinden.Middleman Schleife durch Dateien im Datenordner

Zum Beispiel habe ich eine Handvoll Dateien in /data, jeweils als article1.yml, article2.yml formatiert, usw. Wie kann ich sie in meiner Vorlage durchlaufen? Ich gehe davon aus der direkteste Weg wäre eine Zunahme der Zahlen im Dateinamen wie folgt anrufen:

<% data.article-[1,2,3].each do |article| %> <p><<%= article.title %></p> <% end %>

ich andere haben similar Fragen gesehen fragen, aber nicht ein gutes Beispiel zu sehen, dass entweder Loops gefunden durch alle verfügbaren Dateien oder wie in meinem Beispiel durchläuft ein Inkrement von Zahlen.

Antwort

0

@Anynthytkim sind sie in einem Ordner in Daten? d.h. /data/article/article1.yml? Wenn ja, einfach zu schnappen sie alle, versuchen Sie dies:

<% data.article.each do |id, article| %> 
... do stuff ... 
<% end %> 

Um nur ein paar Elemente greifen, versuchen Syntax unter Verwendung der ersten():

<% data.article.first(7).each do |id, article| %> 
... do stuff ... 
<% end %> 

Wenn Sie einen Bereich von der greifen wollen In der Mitte können Sie first() und drop() kombinieren. Zum Beispiel, wenn ich Artikel 5, 6 wollte, und 7:

<% data.article.first(7).drop(4).each do |id, article| %> 
... do stuff ... 
<% end %> 

Wenn Sie ausgeben wollen, dass sie in der umgekehrten Reihenfolge, versuchen Sie dies (die man auch mit dem ersten() und Drop() Syntax kombinieren)

+1

Nicht nur das brachte mich in die richtige Richtung, aber es half mir, ein Problem auf einem anderen Vermittlerprojekt zu lösen, wo ich versuchte, den ersten (neuesten) Blogbeitrag zu bekommen. Danke für die Beschreibung !! – Anthonytkim

Verwandte Themen