1日にすべての音符を表示するのではなく、1日に1音だけを表示するにはどうすればよいでしょうか?note.note_date == date
?日付と等しいノートだけをレンダリングする方法は?
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
挑戦/
<% @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 %>
ノートを表示/
<% @notes.each do |note| %>
<%= note.notes_text %>
<% end %>
ノート/フォーム
<%= 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
、ユーザーは、チャレンジを作成します。チャレンジには属性days_challenged
があります。ユーザーはチャレンジする日数、つまり10,15,30などを選択します。その日のそれぞれについて、notes/form
がレンダリングされます。 note.notes_date
がそれぞれの日に等しい場合、notes/form
の代わりにそのメモを1つだけ表示するにはどうすればよいですか?
あなたが提示したソリューションが機能していない理由を説明できますか?エラーメッセージが表示されたり、出力が間違っていますか?この質問への編集は、コメントに返信するよりも優れています。ありがとう! –
こんにちは@MichaelGaskill。私は解決策を提示しなかった。私は自分の持っているものを説明しました。これは、すべての音符が「音符/音符」で描かれています。すべての音符をレンダリングする必要はありません。私は、その日にレンダリングされる 'date'と等しいノートしか必要としません。 –