2011-06-15 62 views
5

我使用will_paginate “2.3.15” 为我的Rails应用程序will_paginate - 错误 - 未定义的方法`TOTAL_PAGES'

在我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> 

我的rails版本3.0.0 和红宝石版本1.8.7

plz帮助

回答

4

你为什么加入:all? 从will_paginate wiki,你应该使用:

@units = Unit.paginate(:page => params[:page], :order => 'created_at DESC') 
+0

感谢阿德里安您的快速反应我用这个@units = Unit.paginate(:页面=> PARAMS [:页面]:为了=> 'created_at DESC')仍然得到同样的错误 – 2011-06-15 10:22:02

+0

我会觉得在这个版本的will_paginate中的错误,但我不确定。也许你可以尝试更新到更新的版本。 – 2011-06-15 11:39:52

0

发生这种情况对我来说,当选定的一组大小是零。 (即在这种情况下,@ units.size == 0)在视图中测试它似乎解决了这个问题。即。

<% if @units.size > 0 %> 
    <%= will_paginate @units %> 
<% end %> 
相关问题