Anstatt alle Notizen pro Tag anzuzeigen, wie können wir nur eine Notiz pro Tag anzeigen, die Notiz, deren note.note_date == date
?Wie rendern nur Notizen mit gleichem Datum?
Day 1: Notes/notes # Shows both Day 1 and Day 3 note. Only want to show Day 1 note
Day 2: Notes/form
Day 3: Notes/notes # Shows both Day 1 and Day 3 note. Only want to show Day 3 note
Day 4: Notes/form
Day 5: Notes/form
Herausforderungen/show
<% @challenge.dates_challenged.first(@challenge.days_challenged).each_with_index do |date, i| %>
Day <%= i + 1 %>
<% if @notes.any? { |note| note.notes_date.strftime("%m/%d/%y") == date.strftime("%m/%d/%y") } %>
<%= render 'notes/notes' %>
<% else %>
<%= render 'notes/form', :date => date %>
<% end %>
<% end %>
Anmerkungen/Hinweise
<% @notes.each do |note| %>
<%= note.notes_text %>
<% end %>
Noten/form
<%= form_for [@notable, @note] do |f| %>
<%= f.text_area :notes_text, placeholder: 'Enter Recap' %>
<%= f.date_select :notes_date, selected: date, :order => [:month, :day, :year] %>
<% end %>
challenges_controller
def show
@notable = @challenge
@notes = @notable.notes
@note = Note.new
end
Zur Erinnerung, schafft ein Benutzer eine Herausforderung. Eine Challenge hat das Attribut days_challenged
. Der Benutzer wählt, wie viele Tage in Frage gestellt werden, d. H. 10, 15, 30 usw. Für jeden dieser Tage wird eine notes/form
gerendert. Wenn ein note.notes_date
einen entsprechenden Tag entspricht, wie können wir dann nur diese eine Note anstelle von notes/form
anzeigen?
Können Sie erklären, warum die von Ihnen präsentierte Lösung nicht funktioniert? Gibt es eine Fehlermeldung oder falsche Ausgabe, die zur Verfügung gestellt werden kann? Bearbeitungen der Frage sind besser als Antworten in den Kommentaren. Vielen Dank! –
Hallo @ MichaelGaskill. Ich habe keine Lösung vorgestellt. Ich erklärte, was ich habe, wo jede Note mit "Noten/Noten" gerendert wird. Ich möchte nicht, dass jede Note gerendert wird. Ich möchte nur Notiz, die gleich "date" an diesem jeweiligen Tag gerendert wird –