2009-06-08 36 views
29

我注意到像mislav-will_paginate这样的分页宝石相当流行。这是因为Rails没有内置的分页解决方案,或者因为内置的解决方案不太好?Rails是否有内置的分页解决方案?

+1

will_paginate是非常实际上是“内置”的解决方案,这些天/ – 2009-06-09 10:24:16

+0

似乎searchlogic使用will_paginate,所以你不需要使用searchlogic得到它。不过,它看起来很酷。 http://rdoc.info/github/binarylogic/searchlogic/master/file/README.rdoc#Pagination_(leverage_will_paginate) – calasyr 2010-10-30 01:25:20

回答

3

我建议searchlogic。它有内置的分页和许多其他黑洞的东西。

  • 简易过滤
  • 分页
  • 排序

和..为所有好的帮手。

典说,超过一千字(不要被HAML例子会感到困惑,你可以,如果你喜欢他们正常使用ERB模板,该代码/结构是相同的):

控制器:

def index 
    @search = User.new_search(params[:search]) 
    @users, @users_count = @search.all, @search.count 
    end 

分页东西在视图中:

== Per page: #{per_page_select} 
== Page: #{page_select} 

排序为/由视图:

- unless @users_count.zero? 
    %table 
     %tr 
     %th= order_by_link :account => :name 
     %th= order_by_link :first_name 
     %th= order_by_link :last_name 
     %th= order_by_link :email 
     - @users.each do |user| 
     %tr 
      %td= user.account? ? user.account.name : "-" 
      %td= user.first_name 
      %td= user.last_name 
      %td= user.email 

方便,简单和快速筛选:

- form_for @search do |f| 
    - f.fields_for @search.conditions do |users| 
     = users.text_field :first_name_contains 
     = users.date_select :created_after 
     - users.fields_for users.object.orders do |orders| 
     = orders.select :total_gt, (1..100) 
    = f.submit "Search" 

,一切工作在一起,所以改变页面,然后进行排序,并添加过滤器不会失去任何其他设置:)工作。

所有你需要的是在你的environment.rb:

config.gem "searchlogic" 

,并安装它:rake gems:install

也会检出online example

+0

这与众多其他分页解决方案相比如何?为什么选择这个比其他人? – propstop 2009-06-08 22:52:35

+0

那么,我以前使用的是will_paginate,它曾经是默认的分页器。 searchlogic的美丽是 a)一切都集成在一起(你不必得到paginator一起过滤/排序,这是自动/神奇地完成)。 b)它非常积极地开发atm,它看起来相当成熟。 c)开发人员生成非常漂亮和直观的库,我还会推荐他的auth库'authlogic'。在文档中,您会发现为什么authlogic比其他auth插件更好的说法:)。 但是,只是在你的一个数据视图中尝试一下。 – reto 2009-06-09 08:03:11

28

在Rails 2.0的ActionController的分页能力和去除变成一个名为'classic_pagination'的向后兼容插件。然而,从我为自己寻找分页解决方案的共识似乎是,使用'classic_pagination'并不是最佳选择。

看了几个播客后,我选择尝试使用will_paginate插件,并没有回头。它快速,易于使用且维护良好。

我相信即使是V2的Searchlogic也推荐使用它。

相关问题