【问题标题】:for each loop help in Rails. Trying to count data in each table.对于 Rails 中的每个循环帮助。试图计算每个表中的数据。
【发布时间】:2017-05-29 15:42:32
【问题描述】:

快速的。我怎样才能拉入已完成的课程数量以显示在 a 视图中的每个块中。目前,当代码循环遍历所有类别时,它只根据我的硬代码 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 %>

从数据库中提取控制器变量

@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,以便我可以显示循环中每个类别中每个错误的课程的计数。谢谢。

【问题讨论】:

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


    【解决方案1】:

    我认为您可以通过在您的视图中添加这样的方式来获取每个类别中每个错误的课程的计数

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

    【讨论】:

    • 看准君安。早些时候尝试过这样的事情,但不会奏效。然后像往常一样把它复杂化了。谢谢百万人。效果很好。
    • 谢谢布拉德利,我很乐意提供帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-09-04
    • 1970-01-01
    • 1970-01-01
    • 2020-04-06
    • 2014-05-04
    • 2019-01-24
    • 1970-01-01
    相关资源
    最近更新 更多