0

我有一个值,任务表,我需要从数据库中提取,然后按如下顺序排列:

                <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 新手,所以我正在寻找最好的方法,因为我当前的代码并不理想

4

1 回答 1

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
于 2012-10-08T03:33:36.887 回答