问题
I am using will_paginate "2.3.15" for my rails app
in my units_controller.rb
def index
@units = Unit.paginate(:all ,:page => params[:page], :order => 'created_at DESC')
end
in my views(index)
<%= will_paginate(@units)%>
but it gives error
undefined method `total_pages' for #<ActiveRecord::Relation:0xb523dc>
my rails version 3.0.0 and ruby version 1.8.7
plz help
回答1:
Why do you add the :all
?
From the will_paginate wiki you should probably use :
@units = Unit.paginate(:page => params[:page], :order => 'created_at DESC')
回答2:
This occurred for me when the selected set size was zero. (ie. in this case, @units.size == 0) Testing for it in the view seemed to solve the problem. ie.
<% if @units.size > 0 %>
<%= will_paginate @units %>
<% end %>
来源:https://stackoverflow.com/questions/6356062/will-paginate-error-undefined-method-total-pages