Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ajax 选择并排序值_Ajax_Ruby On Rails 3 - Fatal编程技术网

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