我有一个值表,任务,我需要从数据库中提取,然后按如下顺序排列:
<section class="entry-content">
<header>
<h4>Daily</h4>
</header>
<ul class="task-list" id="daily-tasks">
<% @daily.each do |task| %>
<% if task.status == "incomplete" %>
<li><% = task.title %></li>
<% end %>
<% end %>
<% @daily.each do |task| %>
<% if task.status == "complete" %>
<li><% = task.title %></li>
<% end %>
<% end %>
</ul>
</section><!--.entry-content-->
我还有一次,每周,每月和每年可能的任务。
我是Ruby新手,所以我正在寻找最佳方式,因为我目前的代码并不理想
答案 0 :(得分:2)
我希望这可以帮助你...我建议使用应用程序帮助程序,因为你试图多次执行相同的任务。我没有测试它,但它是完整的想法。
<强>控制器强>
@daily = Task.where("type = 'daily'")
@weekly = Task.where("type = 'weekly'")
查看强>
<ul>
<%= print_task (@daily,'completed') %>
</ul>
<ul>
<%= print_task (@daily,'incomplete') %>
</ul>
<ul>
<%= print_task (@weekly,'completed') %>
</ul>
<ul>
<%= print_task (@weekly,'incomplete') %>
</ul>
...
<强> application_helper 强>
def print_task(tasks, status)
html =''
tasks.each do |task|
html += '<li>'
if task.status == status
html += "#{task.title}"
end
html += '</li>'
end
html.html_safe
end