will_paginate 报告太多条目和页面

2023-11-26

我使用 will_paginate 来显示从包含联接和 select 语句的查询返回的数据。当我对数据进行分页时,条目数等于执行 select 语句之前的条目数,即使在查询之后调用分页,并且查询包含的元素比分页报告少。

@sales = Sale.joins(:line_items).where(company_id: company_id, status: ['Complete', 'Voided'], time: (midnight_1..midnight_2)).order('id DESC')
puts @sales.length

14

@sales = @sales.select('distinct sales.*')
puts @sales.length

4

@sales.paginate(:per_page => 4, :page => params[page])
puts @sales.total_entries

14

这会导致显示空页面的链接。


分页和加入总是会稍微困难一些has_many or has_and_belongs_to_many与 will_paginate 或任何分页解决方案的关联。

如果不需要查询已加入的关联,可以将其删除。您失去了在一个查询中获取关联订单项的好处,但您并没有失去that much.

如果您需要对其进行查询,并且可能您希望仅包含订单项的销售,则需要将 :count 选项传递给 paginate 调用,该调用指定用于调用以计算其中有多少项的其他选项是。在你的情况下:

@sales.paginate(:per_page => 4, 
    :page => params[page], 
    :count => {:group => 'sales.id' })
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

will_paginate 报告太多条目和页面 的相关文章

  • Rails - 如何重写设计 SessionsController 以在用户登录时执行特定任务?

    使用 Devise 管理用户会话 注册 每次用户登录时 以及在他被 devise 重定向到连接的主页之前 我需要执行特定任务 例如 更新该特定用户的用户表中的某些字段 用户 我是否必须重写 devise SessionsController
  • Rails_admin 和 pundit:#

    I m on rails 5 and I m trying to implement authorizations with pundit for my rails admin panel So I included pundit in m
  • Rails 路线、url 和子域

    我的 ruby 应用程序分为不同的命名空间 例如 免费 free domain com 专业版 pro domain com vip vip domain com 在路由文件中看起来像这样 namespace free do match h
  • Rails:包括外部 JavaScript

    我想使用 JavaScript 库 例如 jQuery 插件 我是否使用 Rails 资产管道 或者我应该将其包含在 javascript include tag 中 我有哪些选择以及推荐的做法是什么 您会仅在几个页面上还是在整个应用程序中
  • 没有路线匹配 [GET]“user/sign_out”rails 5

    我目前使用 Devise 遇到此错误 并且我已经尝试了其他问题中的多种方法 以便以零运气解决它 首先建议我确保将该方法添加为删除 No luck 然后我被建议我需要在我的布局标题中包含以下内容 or this 还是 运气不好 最后 建议我更
  • 如何使用哈希数组填充 select_tag?

    在 Rails 3 2 应用程序中 我尝试添加一个选择字段 该字段从外部 API 调用获取数据 该数据作为哈希数组返回 name gt NameA id gt 001 name gt NameB id gt 002 我如何使用这些数据来构造
  • 如何在Rails中管理没有id的表?

    我有两个模型 人模型和关系模型 第二个存储有关两个人之间关系的信息 它有parent id和child id字段 但没有id字段 我将它与 has many through 连接起来并且它有效 But 即使表中存在某些关系 因为没有 id
  • Ruby on Rails 中的枚举

    我是一名 C 程序员 我正在研究 ruby on Rails 但我可能在心态或其他方面遇到了一些麻烦 我有一个投票对象 该对象可以是赞成 中立或反对 我通常会让投票对象有一个像这样的字段 private VoteEnum voteEnum
  • 查找具有唯一两列组合的所有行

    我有这张桌子messages sender id recipient id 1 2 1 3 1 3 2 1 3 1 2 3 我希望选择这样的行 Either sender id or receiver id current user id
  • 在自定义条件下清理 SQL

    我需要创建一个简单的搜索 但我无法使用 Sphinx 这是我写的 keywords input split s queries keywords each do keyword queries lt lt sanitize sql for
  • Rails 是否为 rake 任务运行初始化程序?

    当我运行 rake 任务时 是否执行配置 初始化程序中的脚本 如果你的 rake 任务取决于 environment 即 您像这样声明您的任务 task my task gt environment do end
  • Rails 5.2 Active Storage 添加自定义属性

    我有一个带有附件的模型 class Project lt ApplicationRecord has many attached images end 当我附加并保存图像时 我还想保存一个附加的自定义属性 display order 整数
  • 按共同关联的数量排序 (Rails)

    背景 我有帖子和用户 并且都有很多社区 客观的 对于任何给定的用户 我想返回一个帖子集合 按该帖子与该用户有共同社区的数量排序 具有更多共同社区的帖子位于更高的位置 我当前的尝试 使用排序方法 有效 Post includes commun
  • 与同一模型的多个 has_many 关系

    我有一个可以创建帖子的模型用户 User has many posts Post belongs to user 但是 我还想允许用户将帖子保存为书签 所以我添加了以下内容 Bookmark belongs to post belongs
  • Accepts_nested_attributes_for Rails 3 中的实际形式使用

    使用 Ruby on Rails 3 我半明白accepts nested attributes for是如何的supposed工作 但我无法找出以某种形式实现这一点的实用方法 例如 如果有人想在其用户页面中添加他们最近的位置 user r
  • 将 Rails 5.2 升级到 6.0 时出现参数错误数量错误

    我正在尝试将旧站点从 Rails5 2 升级到 6 0 然后再升级到 6 1 推荐的路径 我收到了有关参数数量错误的各种错误 其中一些错误我已通过更新或删除各种 gem 设法清除 最后我被困在了这一点上 rbenv versions 3 0
  • 从 Rails 2.3.8 升级到 4.0

    我正在 Rails 2 3 8 上运行一个应用程序 我计划将其升级到 Rails 4 0 RC 版 对我来说最简单的方法是什么 我需要先升级到 Rails 3 x 吗 注意 在我当前的实现中 我使用八哥和雪貂 作为升级的一部分 我也在考虑搬
  • YouTube 视频出现 Phantom JS 错误

    Phantom JS 版本 1 9 1 恶作剧版本 1 3 0 从今天开始 YouTube 嵌入视频在运行 javascript 测试时会出现 poltergeist 错误 我的 YouTube 代码只是默认的嵌入 YouTube 代码 这
  • 初始化会破坏rails中的布局设置吗?

    在其中一个控制器中 我需要特定的布局 我添加了layout一开始 效果很好 但如果我添加一个initialize某些基于控制器的变量的函数 Rails 似乎只是忽略了layout命令 有人有同样的问题吗 我该如何修复它 class Admi
  • 使用 PostgreSQL 的模式和 Rails 创建多租户应用程序

    我已经想通的事情 我正在学习如何在 Rails 中创建多租户应用程序 该应用程序根据用于查看应用程序的域或子域来提供来自不同模式的数据 我已经回答了一些问题 如何让 subdomain fu 也能与域一起使用 这是有人问了同样的问题 htt

随机推荐

  • 方法里面可以有方法吗?

    我有一个方法里面有一个方法 内部方法取决于正在运行的变量循环 这是一个坏主意吗 更新 由于这个答案最近似乎引起了一些兴趣 我想指出的是关于 Ruby 问题跟踪器的讨论remove这里讨论的功能 即forbid在方法体中包含方法定义 不 Ru
  • Python Tkinter 网格几何粘性设置无效(?)

    我正在使用 Python Tkinter 设计简单的输入对话框grid几何 并得到一些意想不到的行为 当我开始使用这段代码时 winAddNew tk Toplevel winAddNew title Add New Customer lb
  • 获取局部变量的名称

    在开发和调试时 我有时希望能够编写一个单行代码来转储一堆变量的名称 类型和值 问题是我不知道如何访问变量的名称 如果可以的话 这是第一次尝试 foo 1 bar 42 baz Hash new foo bar baz each do v p
  • 如何使用 VBScript 判断 Excel 2007 电子表格是否打开以及是谁打开的

    如何判断 Excel 2007 电子表格是否已打开以及是谁使用 VBScript 打开的 我试图弄清楚 Excel 工作簿当前是否由另一个用户打开 并在我的脚本中返回该用户是谁 我已经弄清楚由谁来确定工作簿当前是否打开 这是一种解决方法 但
  • 计算两列中任意一列中字符串出现次数的向量化方法

    我有一个问题是similar to 这个问题 但只是足够不同 无法用相同的解决方案来解决 我有两个数据框 df1 and df2 像这样 import pandas as pd import numpy as np np random se
  • 如何下载离线副本MSDN(微软帮助文档)?

    我可以下载离线副本MSDN 微软帮助文档 吗 例如 我整天无法访问互联网 但我需要访问帮助信息 又该如何做呢 Yes 如果要简短 只需安装微软帮助查看器在其中您可以离线复制您需要的所有项目 Full instruction you can
  • 编程中的“原子”是什么意思?

    在 Effective Java 一书中 它指出 语言规范保证读或写 变量是原子的 除非变量是类型long or double JLS 17 4 7 在 Java 编程或一般编程中 原子 是什么意思 这是一个例子 假设foo是一个类型变量l
  • 在 Android Studio 上通过 CMake 将 OpenCV 添加到 Native C 代码

    我正在尝试通过 Cmake 将 Opencv 包含到 android studio 项目中的本机 C 代码中 我在网上做了一些研究 并从网上下载了FindOpenCV cmake文件并将其添加到我的android项目的app目录中 这也是
  • 实现后密封接口

    我正在做一个小项目 我遇到了这个问题 项目输出是一个包含接口的库 如果可能的话 我想实现该接口并密封其中的功能 public interface ITest void SomeMethod class A ITest public seal
  • 如何从扩展中退出 Chrome?

    我正在开发 Chrome 扩展程序 有时我需要退出浏览器进程 我尝试使用以下代码关闭所有窗口 chrome windows getCurrent function window chrome windows remove window id
  • git-clone 和结帐后钩子

    根据手册 post checkout钩子在 a 之后运行git checkout 正如预期的那样 而且经过git clone 除非你通过 no checkout 很好 现在考虑以下几点 您之前没有本地存储库git clone 挂钩在遥控器之
  • Angular 6:如何根据滚动突出显示导航栏上的元素?

    我正在 Angular 6 中制作一个页面 这是一个简单的页面 我想强调一下navbar取决于滚动 这是我的代码 sticky position sticky top 0 i ul list style type none margin 0
  • extbase 存储库 findAll() 返回结果 null

    我有几个这样的控制器 CategoryController 和 NewsController 以及类别和新闻的领域模型以及两者的存储库 在 NewsController 中 我执行如下的 dependencyInjection 与在cate
  • 如何在 React 中访问 DOM 元素? React 中的 document.getElementById() 相当于什么

    如何在react js中选择某些栏 这是我的代码 var Progressbar React createClass getInitialState function return completed this props complete
  • 为什么使用 pandas apply 时会出现 AttributeError 错误?

    我应该如何根据条件将 NaN 值转换为分类值 我在尝试转换 Nan 值时遇到错误 category gender sub category title health beauty NaN makeup lipbalm health beau
  • jQuery UI 滑块 - 根据拖动方向选择重叠滑块

    我有这个简单的 jQuery UI 滑块设置 其中包含一个范围和两个重叠的默认值 整个事情 还有一些花里胡哨的东西 可以在这个 jsfiddle 中找到 http jsfiddle net yijian XeyGS slider slide
  • pandas.read_csv:如何跳过注释行

    我想我误解了 read csv 的意图 如果我有一个文件 j 例如 notes a b c more notes 1 2 3 我怎样才能 pandas read csv 这个文件 跳过任何 注释行 我在帮助中看到不支持行的 注释 但它指示应
  • PHP 文件列出多个文件扩展名

    这是我当前的代码 files glob jpg 这很好用 但是 我想列出其他图像类型 例如 png gif 等 我可以请一些帮助来修改上面的代码以使其正常工作吗 我尝试了以下方法但没有成功 files glob jpg png gif fi
  • Web应用程序:框架还是不框架?

    我了解 PHP 并且刚刚开始使用 MySql 但计划使用 ODBC 我不需要任何书籍来解释这一点 我可能有资格开发一个简单的网站 但目标是开发相当雄心勃勃的应用程序 我想几乎所有的网络应用程序都有一些共性 比如安全性 可扩展性等 例如 我完
  • will_paginate 报告太多条目和页面

    我使用 will paginate 来显示从包含联接和 select 语句的查询返回的数据 当我对数据进行分页时 条目数等于执行 select 语句之前的条目数 即使在查询之后调用分页 并且查询包含的元素比分页报告少 sales Sale