Ajax 选择并排序值
我有一个值和任务表,需要从数据库中提取这些值和任务,然后按如下顺序排序:Ajax 选择并排序值,ajax,ruby-on-rails-3,Ajax,Ruby On Rails 3,我有一个值和任务表,需要从数据库中提取这些值和任务,然后按如下顺序排序: <section class="entry-content"> <header> <h4>Daily</h4> </header> <ul clas
<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新手,所以我正在寻找实现这一点的最佳方法,因为我当前的代码并不理想我希望这能帮助您。。。我建议您使用应用程序助手,因为您多次尝试执行相同的任务。我没有测试它,但它是完整的想法 控制器 看法 应用程序辅助程序
我会发布我的最终解决方案,但这看起来是个好的开始。就数据库调用而言,有并没有更有效的方法,或者执行几个更具体的调用比执行一个大的结果更好?您需要了解您的服务器内存,因为一次点击检索数据库的所有信息可能需要一段时间,若您正在考虑数以百万计的记录,这将需要大量的加载。为了改进rails应用程序,您需要进行更具体的查询,以限制信息量,我认为您应该将一些视图进行拆分,一个用于每日tak,另一个用于每周,等等,这样您可以减少查询并节省时间。希望有帮助。好的,太好了。我将执行特定的查询,然后再研究缓存。非常感谢您的回复
@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>
...
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