为什么在rails 3.2.8引擎中没有加载will_paginate ?



索引中返回@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 (3.0.3)gem list一起返回,也没有加载will_paginate。

代码可能有什么问题?

通过在引擎的gemfile中添加gem will_paginate修复了这个问题,尽管gem will_paginate是在rails引擎的gemspec中。问题是由于ActiveRecord::Base.respond_to? :paginate返回false而未加载gem paginate造成的。

这里有一个帖子,有点类似这里的问题。

Rails引擎- Gems依赖,如何加载到应用程序?

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

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

相关内容

  • 没有找到相关文章

最新更新