有任何方法可以使用印象派宝石与意志分页?我尝试将印象派用于will_paginate
这样的集合:
posts = Post.all.paginate(:page => params[:page])
impressionist(posts)
但它引发了这个错误:
WillPaginate::Collection is not impressionable!
有什么方法可以直接在视图上使用印象派方法吗?
答案 0 :(得分: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会创建一个数据库记录,这会减慢视图渲染速度。最好在模型或控制器层中进行。