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-->

また、1回、毎週、毎月、場合によっては毎年のタスクがあります。

私は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 に答える