草庐IT

ruby-on-rails - Rails Impressionist Gem - WillPaginate::Collection 不令人印象深刻

coder 2025-06-06 原文

有什么方法可以将印象派 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/

有关ruby-on-rails - Rails Impressionist Gem - WillPaginate::Collection 不令人印象深刻的更多相关文章

随机推荐