0
Ich habe die zählbaren folgenden Artikel auszuwählen, basierend auf einer Kategorie (HAML)Rubin enumerable wählt mit optionalem Limit/findet
- blog(ENV[ "site" ]).articles.select { | a | a.data[ :category ] == category }.each_with_index do | article, index |
= index
Ich mag diesen Aufruf begrenzen können, jedoch optional, dh 2 zurückkehren oder vielleicht Rückkehr all
- blog(ENV[ "site" ]).articles.select { | a | a.data[ :category ] == category }.first(2).each_with_index do | article, index |
= index
dh mit der Einführung des ersten (2)
Aber optional etwas wie zuerst tun (‚alle‘) oder den ersten() ist nicht möglich
Dank
Sie sollten diese viel Logik in Ihrer Ansicht nach nicht werden pauken. Sie könnten einen Bereich/eine Methode in Ihrem Modell verwenden, um den 'select'-Teil zu bearbeiten, und einen Helfer, der die bedingte Logik von' first (2) '/' all 'behandelt. Beachten Sie, dass 'first ('all')' keinen Sinn macht, wenn Sie 'all' wollen, dann lassen Sie den' .first'-Aufruf einfach weg. – meagar
@meagar hat Recht. Was ist Blog (...)? Sind 'Artikel' eine ActiveRecord-Beziehung? Es gibt wahrscheinlich viel sauberere Wege, um das zu erreichen, was Sie wollen, ohne eine einzige neue Methode zu definieren. –