我正在使用 Spree,在产品/搜索控制器操作中它使用 Ransack。Spree 文档说 Spree 没有提供自定义页面大小的方法,所以我想我应该自定义操作本身以使用 Ransack 完全关闭分页。Ransack 是否支持不对结果进行分页或至少使分页变大的方法?
这是现有控制器操作中的代码:
@products = product_scope.ransack(params[:q]).result.page(params[:page])
当我把 @products 的类型放在后面时,它是 ActiveRecord::Relation。当我放
@products = product_scope.ransack(params[:q]).result
它也是 ActiveRecord::Relation,但在第一种情况下,rabl 模板中使用了一种方法“total_count”,而第二种方法中不存在。我已经挖掘了 ransack 的源代码,但找不到 .page 的定义位置。我想知道它是否可能包含在 Spree 引入的其中一个宝石中的 ActiveRecord::Relation 的一些 class_eval 中。
必须有人在某个地方遇到过这个问题并提出解决方案。我希望能找到那个人:P
京东