【发布时间】:2016-04-28 00:25:30
【问题描述】:
如何将<% @notes.each do |note| %> 合并到@challenge.dates_challenged.first(@challenge.days_challenged).each_with_index do |date, i| %> 中,以便挑战/表演中的条件起作用?
因为现在每个注释数的注释/表单被渲染多次。
挑战/表演
<% @challenge.dates_challenged.first(@challenge.days_challenged).each_with_index do |date, i| %>
<% @notes.each do |note| %> # How to incorporate this iteration into above iteration?
Day <%= i + 1 %>
<% if note.notes_date.strftime("%m/%d/%y") == date.strftime("%m/%d/%y") %> # If note is created on date then show note else show form
<%= note.notes_text %>
<% else %>
<%= render 'notes/form', :date => date %>
<% end %>
<% end %>
<% end %>
这是因为有两次迭代,而不是将两者结合起来。我不知道如何将两者结合起来,以便迭代工作,如果在 date 上创建注释,则显示 <%= note.notes_text %> 否则显示注释/表单。
【问题讨论】:
-
您的 Note 模型如何与您的日期相关联?不清楚为什么要比较两个格式化的日期,因为比较 Date 和 Date 就足够了。
-
我将
notes_date与date进行比较,因为notes_date是Note的一个属性,而date是从days_challenged的属性派生自Challenge@tadman。我想为用户挑战的每一天显示一个注释或注释/表格。如果注释是为那一天创建的,那么注释应该显示,否则注释/表格应该显示。
标签: ruby-on-rails ruby