I don't understand why Kaminari is not working, I Have
admins_controller.rb
class AdminsController < ApplicationController
before_action :authenticate_admin!
def index
# Admin access to the order tables
@orders = Order.all.page(params[:page]).per(5)
@q = Order.ransack(params[:q])
@orders = @q.result.order(created_at: :desc)
end
end
views/admins/index.html.erb
</table>
<div class="paginator">
<%= paginate @orders %>
</div>
This above code is not at all working with kaminari and gives an error
`undefined method `total_pages' for #<ActiveRecord::Relation [#<Order id: 159......`
BUT, I also have another controller and index page with custom scope which works perfectly fine
second_admins_controller.rb
class SecondAdminsController < ApplicationController
before_action :authenticate_admin!
def index
@picks = Pick.where(shop:"Sapna Xerox Near PDA College").order(created_at: :desc).page(params[:page]).per(5)
@q = Order.ransack(params[:q])
@orders = @q.result.order(created_at: :desc)
end
end
views/second_admins/index.html.erb
</table>
<div class="paginator">
<%= paginate @picks %>
</div>
This second_admins_controller.rb and its index.html.erb has pagination and it works perfectly WHEREAS The admins_controller.rb and its index.html.erb throws an error!
any solutions?
I tried looking up at other Stackoverflow solutions but non of them helped!
You redefine
@ordersvariable, so it is used without.page(params[:page]).per(5)You can try this