Каминари пагинация с условиями на рельсах

я пытаюсь добавить условия к разбивке на страницы Kaminari в моем проекте rails, и я нахожу это почти невозможным. вот мой код

  UserController
#feed=Feed.order('created_at desc').page(params[:page], :conditions=>["source=? or        source=?","beep","sub_beep"])

вышеуказанное не сработало, поэтому я попробовал следующее

  @feed1 = Feed.find(:all,:conditions=>["source=? or source=?","beep","sub_beep"])
  @feed= Kaminari.paginate_array(@feed1).page(params[:page]).per(2)

приведенное выше отображает содержимое, но не отображает 2 содержимого на странице, а отображаемые элементы не упорядочены.

мне нужен способ добавить условия к пагинации kaminari и упорядочить результат

пожалуйста мне нужна помощь!!! :(


person Innocent Akhidenor    schedule 20.09.2012    source источник


Ответы (1)


Kaminari предназначен для работы только с интерфейсом запросов в стиле ActiveRecord 3+.

Пожалуйста, избегайте использования синтаксиса :conditions "Hasheritis", который рано или поздно устареет, а вместо этого используйте цепочку с методом where.

Использование метода where хорошо описано здесь, в руководствах по Rails: http://guides.rubyonrails.org/active_record_querying.html#conditions

Код вашего контроллера должен быть таким:

feeds = Feed.where(:source => ['beep', 'sub_beep']).order('created_at desc').page(params[:page])
person Akira Matsuda    schedule 24.09.2012