【问题标题】:Rails Active Record related topicRails Active Record 相关主题
【发布时间】:2016-03-30 22:16:43
【问题描述】:

我正在构建一个应用程序,该应用程序具有一个 People 模型,该模型具有_and_belongs_to_many Groups 和 Group HABTM People。我正在尝试创建一个统计页面,显示某个组中有多少人。有人知道我可以在表格中显示多少条记录属于某个模型的快速方法吗?为了清楚起见,我将显示一些代码。

这是一种显示我已有的日期的方法。

def subscribed_num
 @person = Person.all.subscribed.count
 @engaged = Person.all.count
end

这是我的看法

<div class="container">
<h2>Statistics</h2>

<p class="total-number">All Engaged People: <%= @engaged %></p>
<p class='total-number'>Subscribed People: <%= @person %></p>
<p><%= link_to "Send Message", root_path %></p>
</div>

现在我想使用PeopleGroups 这两个模型来列出某个组中有多少人。

【问题讨论】:

    标签: ruby-on-rails ruby activerecord


    【解决方案1】:

    查找计数很简单,您调用.count

    对于您的情况(显示组中的人数):

    @group = Group.first
    count = @group.people.count
    

    请注意,.count 方法将改变您的 SQL 查询,使其仅 返回计数(即它实际上并没有将所有记录加载到内存中,这可能很慢)。

    如果你不确定我的意思,也许你应该看看this stackoverflow questionthis section of the rails guide

    【讨论】:

    • 在有大量记录的桌子上调用.all 可能是死亡之吻。将所有内容加载到内存中可能会破坏您的服务器,因此最好避免。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-14
    • 2014-12-06
    • 1970-01-01
    相关资源
    最近更新 更多