从数据库轨道获得完整的计数5

时间:2018-08-22 12:47:43

标签: ruby ruby-on-rails-5

我正在一个仪表盘上,我想根据布尔记录获得计数,因为学生可以单击是否完成了一个模块,这是数据库中的布尔值。

database

在我的仪表板上

dash

我可以通过执行<%= CourseModule.count %>来获得完整的模块数,但是我只想设置完整的模块数。

1 个答案:

答案 0 :(得分:1)

您可以使用where查询来确定集合的范围:

<%= CourseModule.where(complete: true).count %>

或者要在多个地方使用它,请在模型CourseModule中定义一个scope,如下所示:

class CourseModule
  scope :completed, -> { where(complete: true) }
end

并按如下所示在任何地方使用它:

CourseModule.completed
 # => ActiveRecord Relation of completed records

CourseModule.completed.count
 # => Count of completed records