对于Rails中的每个循环帮助。试图计算每个表中的数据。

时间:2017-05-29 15:42:32

标签: mysql ruby ruby-on-rails-4

快一点。如何在视图中的每个块中拉入已完成的课程数量。目前,当代码循环遍历所有类别时,它仅根据我的硬编码1引入category_id结果。如何获取此循环以获取我的块代码中每个类别的类别ID,以便我可以计算只有我认为不完整的课程。我已经在下面显示了控制器和查看代码。相关的部分。谢谢。

查看循环

   <% @categories.each do |category| %>
<div class="row">
        <!-- <a href="/courses/categories"> -->
             <!-- <#= link_to "See Cat", courses_categories_path(category_id: category.id), class: "cat-item-heading", method: :post %> -->
                <div class="slide-down-delay col-md-3 col-sm-6 col-xs-12">
                        <div class="box">
                                <div class="item-remain original">
                                        <!-- <p class="cat-item-heading">health care</p> -->
                                        <% if category.name.length < 20 %>
                                            <p class="cat-item-heading"><%= category.name %></p><br>
                                        <% else %>
                                            <p class="cat-item-heading"><%= category.name %></p>
                                        <% end %>

                                    <br><p class="cat-item-count"><%= @categories_active.count %></p><br>
                                        <% if @categories_active.count > 1 || @categories_active.count < 1 %>
                                            <p class="cat-item-type">Courses available</p>
                                        <% else %>
                                            <p class="cat-item-type">Course available</p>
                                        <% end %>
                                </div>
                                <div class="overlay">
                                     <%= link_to "See All", courses_categories_path(category_id: category.id), class: "cat-item-heading no-link-style", method: :post %>
                                        <!-- <p class="cat-item-heading">see all</p> -->
                                        <!-- <#= link_to "", courses_categories_path, class: "cat-item-heading" %> -->
                                </div>
                        </div>
                </div>
        <!-- </a> -->
 <% end %>

从DB中提取控制器变量

@categories = Category.all.order("created_at ASC").limit(12)
@categories_active = Course.where(category_id: 1)
@categories_active = @categories_active.where(complete: false)

任何方向赞赏。目前它只计算category_id 1中的所有课程,并在所有显示的类别中显示相同的计数。我正在尝试在循环或控制器中提取category_id,以便我可以显示循环中每个类别中每个错误的课程的计数。谢谢。

1 个答案:

答案 0 :(得分:2)

我认为您可以在视图中添加如下所示的每个类别中错误的每个课程的计数

   <% @categories.each do |category| %>
      .....
      Uncompleted course count number for <%= category.name %> category: <%= category.courses.where(complete: false).count %>
      .....

   <% end %>