2009-06-08 40 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也推薦使用它。

相關問題