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

标签 ruby-on-rails ruby rubygems impressionist

有什么方法可以将印象派 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 - 在 Ruby 中使用 or-operator 简化 "any of"检查

ruby-on-rails - Railers 离不开哪些珍贵的 Rails RubyGems?

javascript - gem Assets 内的配置不起作用

ruby-on-rails - Ruby on Rails 4 什么时候设计调用 require_no_authentication 方法?

ruby-on-rails - cucumber :如何检查列中的特定文本?

ruby - AES-128-GCM 似乎不检查身份验证

css - rails : Change next_page class of will_paginate gem

ruby-on-rails - CSV 导入问题

ruby-on-rails - 指定传递给 JSON 对象的 Rails 对象的属性

html - CSS 中等效的 Ruby Truncate 方法