ruby-on-rails - will_paginate和inherited_resources不能一起工作

标签 ruby-on-rails will-paginate inherited-resources

将分页 (3.0.3) 不适用于继承的资源 (1.3.1)。在我的 Controller 中:

protected
def collection
  @posts ||= end_of_association_chain.paginate(:page => params[:page])
end

我在初始化程序中添加了 require 'will_paginate/array',但这并不能解决问题。我如何才能将分页和继承的资源一起工作?在我看来,我收到错误

undefined method `total_pages' for #<ActiveRecord::Relation:0x00000004312e38>

最佳答案

这有点遥远,但我遇到了这个问题,结果发现它是 CanCan,我正在使用的另一个 gem。这是我偶然发现的第一件事之一,所以我认为有一天它可能会对某人有所帮助。

查看:https://github.com/ryanb/cancan/wiki/Inherited-Resources

load_and_authorize_resource 的调用会加载集合,因此条件赋值的右侧永远不会在 collection 方法中运行。上面链接中描述的修复方法是跳过收集操作的授权,并在 collection 方法中显式执行检查。

skip_load_and_authorize_resource :only => :index

protected

def collection
  @posts ||= end_of_association_chain.accessible_by(current_ability).paginate(:page => params[:page])
end

我希望对某人有所帮助。

关于ruby-on-rails - will_paginate和inherited_resources不能一起工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10304182/

相关文章:

css - Rails App 上的自定义字体未加载

ruby-on-rails - 使用 will_paginate 在 Ruby 中对数组进行分页

ruby-on-rails - 使用继承资源rails创建评论时设置当前用户

ruby-on-rails - 在 Activeadmin 中救援 RecordNotFound

ruby-on-rails - 使用 Wicked_PDF 渲染为 PDF 时 ChartKick 图表不显示

ruby-on-rails - 安装 rails 时出错,无法构建 gem native 扩展

ruby-on-rails - 如何对来自多个模型的记录进行分页? (我需要多态连接吗?)

ruby-on-rails-3.1 - Rails 3.1.3 和继承资源测试失败

ruby-on-rails - Heroku、Postgresql、composite_primary_keys

sql - 对包含变量进行分页