Undefined метод `paginate 'для # <Array: 0x0000000764d1b8>

Этот мой код в контроллере индекса.

order_customs = Order.select{|order| order.performer.white_label_id==1}
@orders_customs_display=order_customs.paginate(:page => params[:page], :per_page => 5)     
@orders_customs_refunded=order_customs.select{|order| order.refunded==true}.paginate(:page => params[:page], :per_page => 5)
order_white_label=Order.select{|order| order.performer.white_label_id!=1}
@orders_white_label_display=order_white_label.paginate(:page => params[:page], :per_page => 5)
@orders_white_label_refunded=order_white_label.select{|order| order.refunded==true}.paginate(:page => params[:page], :per_page => 5)      

Я использую will_paginate gem для разбивки на страницы. Я использовал его без ошибок, но когда я сменил код с Order.all.paginate() на Order.select{}.paginate(), наступает ошибка.

Ошибка, которую я получаю,

undefined метод `paginate '

Мне нужно разбить эти значения для отображения их в таблице. Если я не могу их разбивать на страницы, есть ли способ обхода?

Ответы

Ответ 1

Вам нужно включить метод will_paginate для типа данных Array.

Для этого включите строку

require 'will_paginate/array'

в верхней части вашего контроллера или в ApplicationController, если вам нужно разбиение на страницы во всех ваших контроллерах.

Ответ 2

Удаление .all работал у меня.