2013-01-21 100 views
1

我正在使用will_paginate在Rails 3網站中進行分頁。我希望能夠點擊每個輸出字段的表格標題(例如「name」,「created at」),並在該字段上排序結果。能夠再次點擊進行反向排序也是很好的。 will_paginate對於排序有什麼效果嗎?我可以使用will_paginate來做到這一點嗎?使用will_paginate對分頁結果集進行排序

我使用的表格格式是非常通用的:

<%= will_paginate %> 
<table> 
    <tr> 
     <th>ID</th> 
     <th>Name</th> 
     <th>Updated</th> 
    </tr> 
    <% @shops.each do |shop| %> 
    <tr> 
     <td><%= shop.id %></td> 
     <td><%= shop.name %></td> 
     <td><%= shop.updated_at.strftime("%a %b %d %H:%M ") %></td> 
    </tr> 
    <% end %> 
</table> 
<%= will_paginate %> 

回答

-2

替代方案:

1)利用強大的jQuery插件:

排序和分頁成了簡單的jQuery插入。

有一個功能強大的jquery插件here

更多關於jQuery Tablesorter: Pagination and Sorting made simple

2)排序表列:

如果你想不排序的jQuery插件,那麼你會得到你想要的一切here。 上述方法添加了通過單擊標題以升序或降序對錶格列進行排序的功能。

+0

你可以做'will_paginate'排序。如果您僅使用jQuery來對錶進行排序,那麼您只需對錶中已有的值進行排序,而不是對數據庫中可能具有的數千個值進行排序。 – Shadwell

+0

是嗎?我認爲'will_paginate' gem本身不能做..但是'jquery-rails'可以。修改的重點。看到我更新的答案與替代品。 –

+0

你的價值觀或價值觀之間還有什麼區別?最後,「可能擁有」將變成「擁有」。 –

0

我使用

gem "meta_search" 

與will_paginate

Github project site

Railscasct #251 MetaWhere & MetaSearch

指數CONTRO繆勒例如

@search = Customer.search(params[:search]) 
@customer = @search.paginate(:page => params[:page], :per_page => 50) 

,並查看示例

<th><%= sort_link @search, :name%></th> 
<th><%= sort_link @search, :surname %></th> 
<th><%= sort_link @search, :address %></th> 
相關問題