Rails 急切加载计数?

2024-05-31

使用 include 属性可以很好地进行预加载

Post.find(:all, :include => :author)

我想知道您是否也可以急切加载计数,例如我是否想获取每个帖子的评论数量,而不加载所有评论本身?

也许像

Post.find(:all, :include => [:author, "count(comments)")

我想我可以使用 count_cache 列。但如果可能的话,将所有这些都包含在一个包含中会非常漂亮。

如果有人可以展示如何不仅获得计数,而且还提出一些条件,例如仅计算已批准的帖子,则可以获得额外奖励分。


它们应该已经被加载使用

post.comments.length

我遇到了同样的问题,因为我正在使用 .count

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Rails 急切加载计数? 的相关文章

  • 对于 ActiveReord 中的 has_many 关联,counter_cache 不会递减

    我的 Rails 3 应用程序有 2 个模型 第三个模型是它们之间的联接表及其 has many 关系 基本上 User 和 Show 通过 SavedShow 连接起来 允许用户保存节目列表 class Show lt ActiveRec
  • 在 Rails 中捕获 UTM 参数

    我正在尝试捕获 URL 中的 UTM 参数 以将源 营销活动等添加到用户帐户 可悲的是 我似乎不知道如何捕获这些参数 据我所知 我正在关注博客文章http www matthuggins com articles tracking new
  • Rails 3 ActiveRecord 方法链接,底层

    假设您构建一个涉及多个方法链接的查询 例如 Post where id gt 10 limit 20 order id asc except order 我想知道幕后发生了什么 据推测 链的每个部分都将帮助构建 SQL SELECT 一旦链
  • 设计确认链接将用户重定向到 heroku 域而不是自定义域

    我有一个网络应用程序 前端采用 Angular 后端采用 Rails 我有一个自定义域www example com并将用户重定向到 heroku URL example herokuapp com 用户注册后 需要确认他们的电子邮件 当他
  • 在控制器中调用模型方法

    我在这里遇到了一些困难 我无法成功调用属于ProjectPage model in the ProjectPage 控制器 我在我的ProjectPage控制器 def index searches Project published fi
  • Rails:将值序列化为逗号分隔而不是 YAML

    我正在寻找一种方法来存储例如的序列化值 列中的 ID 在之前的声明中 这不是最佳设计 该列用于关联记录的 ID 但仅在显示记录时使用 因此不会对该列进行选择进行查询 也不会对此列进行联接任何一个 在 Rails 中 我可以使用以下方法序列化
  • 根据多列删除重复记录

    在我们的系统中 我们每小时从外部数据库进行导入 由于导入脚本中存在错误 现在存在一些重复记录 如果任何记录具有相同的内容 则视为重复 legacy id and company 我可以运行什么代码来查找并删除这些重复项 我正在玩这个 Pro
  • 使用 Remotipart 的 Rails AJAX 上传表单

    我一直在绞尽脑汁地试图让 AJAX 上传表单正常工作 我正在使用 Rails 3 2 我放gem remotipart gt 1 0 在我的 Gemfile 中 运行bundle install并且安装成功 我之前有这个非ajax上传表单
  • Ruby on Rails,从另一个模型创建记录

    我正在使用这个文件上传器来处理 ruby on Rails 我上传了一些带有数字的文件进行统计分析 文件的模型称为 filedb 在 filedb rb 中 打开文件并分析数字 一些相关内容等 之后 我需要将结果保存到名为结果的表中 在 f
  • Ruby:在 Windows 7 下安装 EventMachine 时出现问题

    我尝试通过捆绑包在 Windows 7 上安装 gem EventMachine 使用 Ruby 1 9 2 和 RubyInstaller 但出现以下错误 我还安装了 DevKit 并且它可以工作 但我仍然无法弄清楚问题出在哪里 Inst
  • windows 10 ruby​​2.5 Rails 5.1.5 无法加载此类文件 -- sqlite3/sqlite3_native (LoadError)

    环境 窗口 10 ruby 2 5 Rails 5 1 5 问题 无法加载这样的文件 sqlite3 sqlite3 native LoadError 我已经尝试过 gem uninstall sqlite3 和 gem install s
  • 在没有 Flash 的情况下用 HTML / js 录制音频?

    从麦克风录制音频并将 ajax 发回服务器 真的不知道如何在 Flash 中做到这一点 并希望它保持简单 目前还没有浏览器实现WHATWG 设备 API http www whatwg org specs web apps current
  • 具有无关访问的哈希值

    我有一个非 Rails 项目 在其中从 YAML 文件加载一些设置 config YAML load File open LOG ROOT config database yml 我只能像这样访问这个哈希值config host confi
  • 从 ActiveAdmin default_actions 中删除“显示”链接

    我为我的资源起了一个标题作为链接Show行动 现在我想删除该链接表单default actions actions all except gt show 不会因为我需要show行动可用 我也尝试过 column do show links
  • Rails - 使用开发数据填充测试数据库

    有没有一种简单的方法可以将数据从developmentmenet数据库复制到测试数据库中 我知道有一种方法可以复制模式并重新创建数据库 但是是否有任何 rake 任务可以用开发数据库填充测试数据库 可以直接使用mysql mysqldump
  • 将 Rails 2.x 与 MS SQL Server 2005 结合使用

    这里有人有使用 Rails 2 x 中的 MS SQL Server 2005 的积极经验吗 我们的开发人员使用 Mac OS X 我们的产品在 Linux 上运行 由于遗留原因 我们应该使用 MS SQL Server 2005 我们正在
  • 如何从 Skyscanner API post 请求检索会话密钥 - Ruby

    在我的应用程序中 我想按我使用过的航班详细信息获取实时价格天空扫描仪 API http business skyscanner net portal en GB Documentation FlightsLivePricingList 我在
  • Rails 3.1 限制用户创建的对象

    我想限制用户可以创建的模型对象的数量 我已经尝试过以下方法 但它不起作用 我知道 Rails 3 1 中发生了一些变化 但现在不知道如何实现这一点 class User lt ActiveRecord Base has many thing
  • Hoptoad v.异常 v.异常_通知 v.异常_记录器

    以下哪种异常通知解决方案最好 卓越的 http getexceptional com Hoptoad http hoptoadapp com 异常通知 http github com rails exception notification
  • rspec 路由测试和主机

    我发现我可以使用 rspec 测试路由 如下所示 get should route to welcome index 但我有基于主机名或主机名部分的约束以及几个主机名之间的重定向 测试时如何指定主机名 如何使用正确的配置运行测试 我尝试打印

随机推荐