ich die folgende SchleifeJede Do-Schleife, prüfen, ob Artikel ist der letzte
<% @museum.museumcloseddays.order(:closedday).each do |day| %>
<%= day.closedday.strftime("%B") + " " + day.closedday.day.to_s %>
<% end %>
Welche schreibt den Monat und den Tag der Veranstaltungsort geschlossen Tag.
Ich würde versuchen, sie mit einem Komma zu trennen, und wenn der | Tag | Element ist das letzte Element in jeder Schleife, schreibt einen Punkt.
Dann versuche ich den | Tag | zu testen Artikel unter Verwendung des Verfahrens zuletzt wie folgt:
if day.last then ...
aber es funktioniert nicht ...
Vielen Dank @jaydel. Nicht sicher, warum, aber ich habe etwas komisches: #, # . Aber ich schob die Tage in ein neues Array: '@ days.push (day.closedday.strftime ("% B ") +" "+ day.closedday.day.to_s)'. Und dann folgendes nach der Schleife hinzufügen: '@days = @ days.join (',') + '.'' was perfekt funktioniert. –
Maxence
ist es möglich, dass Sie diese mittlere Zeile interpolieren müssen. Ich bin mir nicht sicher - ich habe nicht genug Kontext, um es tatsächlich zu testen. Select sollte zu einem Array von String-Objekten führen. – jaydel
'" # {tag.closedday.strftime ('% B')} # {tag.closedday.day.to_s} "' – jaydel