9

有什么方法可以将印象派宝石与将分页一起使用?我尝试将印象派用于这样的will_paginate集合:

posts = Post.all.paginate(:page => params[:page]) 
impressionist(posts) 

但它引发了这个错误:

WillPaginate::Collection is not impressionable!

有什么方法可以直接在视图上使用印象派方法?

4

1 回答 1

2

生成的集合will_paginate不是易受影响的意味着您正在阅读,它的类没有任何对 的调用is_impressionable,因为您的模型应该有。如果没有,请像这样添加:

class Post < ActiveRecord::Base
    # ...other stuff
    is_impressionable
end

那么,如果不能在集合中调用,为什么不在每条记录中调用呢?试试这样:

posts = Post.all.paginate(:page => params[:page])
posts.each{|post| impressionist(post) }

也许这不是最优雅的解决方案,但它会完成工作。在你看来,我不建议这样做。Impressionist 创建了一个数据库记录,这会减慢您的视图渲染速度。最好在模型或控制器层中进行。

于 2018-04-08T00:38:22.587 回答