有什么方法可以将印象派 gem 用于分页?我尝试对这样的will_paginate集合使用印象派:

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

但这会引发此错误:
WillPaginate::Collection is not impressionable!

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

最佳答案

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) }

也许这不是最优雅的解决方案,但可以完成工作。就您的观点而言,我不建议这样做。印象派创建数据库记录,这会减慢您的 View 渲染速度。最好在模型或 Controller 层中执行此操作。

关于ruby-on-rails - Rails印象派 gem -WillPaginate::Collection不可印象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49639053/

10-10 08:15