2016-05-03 9 views
0

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つだけ表示するにはどうすればよいですか?

+0

あなたが提示したソリューションが機能していない理由を説明できますか?エラーメッセージが表示されたり、出力が間違っていますか?この質問への編集は、コメントに返信するよりも優れています。ありがとう! –

+0

こんにちは@MichaelGaskill。私は解決策を提示しなかった。私は自分の持っているものを説明しました。これは、すべての音符が「音符/音符」で描かれています。すべての音符をレンダリングする必要はありません。私は、その日にレンダリングされる 'date'と等しいノートしか必要としません。 –

答えて

2
<% if @notes.any? 
    @today_notes = @notes.select{ |note| note.notes_date.strftime("%m/%d/%y") == date.strftime("%m/%d/%y") } %> 
    <%= render 'notes/notes' %> 
<% else %> 
... 
<% end %> 

_notes.html.erb

ノート/ _notes.html.erbを強調するために

<%= render partial: 'notes/notes', locals:{note: note} %> 

名前の変更note.html.erbを使用メモ/メモの部分にがあります。

+0

パンチに私を打つ。ただそれを理解しましたが、あなたの答えはより簡潔です。ありがとう! –

0

この部分を<%= render 'notes/notes' %>に変更し、note.html.erbファイルのすぐ下に従ってください。

挑戦表示:次に

<%= note.notes_text %> 
+0

これは、OPからの質問にどのように答えますか? – Alfie

+0

どうしたの?私は、しかし、彼は部分的にそのメモを使用しようとします。また、私は彼が質問を更新したのを見ている。 – 7urkm3n