#ruby-on-rails #pagination #kaminari
#ruby-on-rails #разбивка на страницы #kaminari
Вопрос:
Я не уверен, что правильно озаглавил вопрос. В моем проекте у меня есть контроллер категорий с действием show
def show
@category = Category.find params[:id]
end
И, на мой взгляд, я отображаю все записи, связанные с этой категорией
@category.posts.each do |post|
link_to post.title, post
Итак, теперь я хочу добавить разбивку на страницы с помощью kaminari.
Я полагаю, что мог бы просто изменить @category.posts.each
на @category.posts.page(params[:page]).each
, но я также думаю, что это должно быть ответственностью контроллера. Или я ошибаюсь? Может быть, это совершенно нормально?
Спасибо всем.
Ответ №1:
Ваш метод show должен выглядеть следующим образом:
def show
@posts = Category.find(params[:id]).posts.page(params[:page])
end
И в поле зрения:
@posts.each do |post|
Комментарии:
1. Привет, метил. Мне все еще нужен доступ к @category (для создания заголовка и т.д.). Должен ли я просто создать две переменные экземпляра: @category и @posts?
2. Да, вы можете это сделать, и все будет абсолютно чисто и нормально.