Ich habe vier Schleifen in meinem haml Dokument zu Testzwecken mit dem einzigen Unterschied, dass die Reihenfolge der Elemente ist.
Bin ich irgendwie in der Lage, die Logik in meinem Controller zu setzen und die ganze 'Unordnung' der Schleife nur einmal in meinem haml Dokument aufzulisten?
Momentan habe ich alles 4 mal dupliziert und weißt du, das fühlt sich schlecht an. :)Schienen 4: Wie man eine Schleifenlogik in den Controller einfügt
Zum Beispiel:
- @loop.where(featured: true).order("RANDOM()").limit(4).each do |item|
%li
%h1 This is an example
- @loop.order(:cached_votes_up => :desc).limit(4).each do |item|
%li
%h1 This is an example
- @loop.order(:impressions_count => :desc).limit(4).each do |item|
%li
%h1 This is an example
- @loop.order("created_at DESC").limit(4).each do |item|
%li
%h1 This is an example
Controller:
def index
@loop = Item.all
end
Ich mag meinen Haml-Code zu so etwas wie diese reduzieren und den Rest im Controller bewegen:
- @loop.each do |item|
%li
%h1 This is an example
Vielen Dank im Voraus für jede Antwort!
Was ist '@ loop'? Was versuchst du genau? Ohne das Problem zu verstehen, können wir dir nicht helfen. – Surya
Entschuldigung, ich habe das zur Antwort hinzugefügt :) – Gugubaight
Zeigen Sie, was Sie erwarten. –