有什么方法可以将印象派 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 Impressionist Gem - WillPaginate::Collection 不令人印象深刻,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49639053/