首页 > 解决方案 > 当数据库单元格与今天的日期匹配时如何制作 TODO 列表项

问题描述

我想创建一个待办事项列表,在协议、开始或截止日期上查找与今天日期匹配的任何单元格。

<% @project.where("project_date_agreement + project_date_start + project_date_due > ?", Date.today).each do |tasks_today| %>
     <ul>
        <li>Item Due Today</li>
     </ul>
 <% end %>

任何让我朝着正确方向前进的帮助将不胜感激。

标签: ruby-on-rails

解决方案


您想OR在 where 子句中使用条件。正确地说,这将在您的控制器中。

@projects = Project.where('date_agreement = ? OR date_start = ? or date_due = ?', Date.today, Date.today, Date.today)

在您的项目模型中,您可能想要创建一个字段,说明到期...

def due_because
  due_array = []
  due_array << 'Agreement date' if date_agreemnt == Date.today
  due_array << 'Start date' if date_start == Date.today
  due_array << 'Due date' if date_due == Date.today'
  due_array.join(', ')
end

然后在您看来,您将遍历@projects

<ul>
  <li>Items Due Today</li>
  <% @projects.each do |project| %>
    <li><%=project.name%> <%=project.due_because%></li>
  <% end %>
</ul>

推荐阅读