Rails Impressionist Gem - WillPaginate:: Коллекция не впечатлительна
Есть ли способ использовать импрессионистский драгоценный камень с волнистой страницей? Я пытаюсь использовать импрессионист will_paginate
коллекция как это:
posts = Post.all.paginate(:page => params[:page])
impressionist(posts)
Но возникает эта ошибка:
WillPaginate::Collection is not impressionable!
Есть ли способ использовать импрессионистский метод прямо на виду?
1 ответ
Коллекция, созданная 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) }
Возможно, это не самое элегантное решение, но оно выполнит работу. Делая это по вашему мнению, я бы не советовал. Импрессионист создает запись в базе данных, которая замедляет рендеринг вашего представления. Будет лучше сделать это в слоях модели или контроллера.