0

这是我们索引中返回@customers 的代码:

@customers = Customerx::Customer.where(:active => true).order("since_date DESC, id DESC").paginate(:per_page => 30, :page => params[:page])

它导致以下错误:

undefined method `paginate' for #<ActiveRecord::Relation:0x6b88960>

在调试中,ActiveRecord::Base.respond_to? :paginate返回false. 在我们看来, will_paginate 没有加载,即使will_paginate (3.0.3) 返回了gem list.

代码可能有什么问题?

4

2 回答 2

2

该问题已通过添加gem will_paginate引擎的 gemfile 得到解决,即使gem will_paginate在 rails 引擎的 gemspec 中也是如此。该问题是由于 gem paginate 未加载为ActiveRecord::Base.respond_to? :paginate返回 false 引起的。

这是一篇与这里的问题有些相似的帖子。

Rails Engine - Gems 依赖项,如何将它们加载到应用程序中?

于 2013-01-15T15:07:51.440 回答
1

即使我曾经得到这个错误,所以我尝试了页面方法......使用

@customers = Customerx::Customer.where(:active => true).order("since_date DESC, id DESC").page(params[:page]).per_page(30)
于 2013-01-15T04:43:07.583 回答