2016-07-25 58 views
0

我有一個索引頁面上顯示的記錄列表。 (它們以表格形式顯示)。因爲其中有一些我試圖將它們分成每頁大約30條記錄。我創建了一個搜索參數功能,其下面顯示了索引。將索引參數劃分爲多個頁面

我遇到的問題是我無法在列表中顯示多個頁面。截至目前,我有大約150條記錄。但是,我只列出了一頁,其上只有30條記錄,並且無法對它們進行排序。有人會知道我可能會錯過什麼嗎?

這裏是我的代碼中的這個問題得到解決的部分。

def search_params 
    default_index_params.merge(params.fetch(:record_collection, {})).with_indifferent_access 
    end 

    def default_index_params 
    { 
     per: 30, 
     page: 1, 
     sort_by: "created_at", 
     sort_direction: "desc", 
     customer_id: 0 
    } 
    end 

在我看來,我確實有一點咖啡腳本在表格中扮演一個角色。我不知道這是否是我的問題的根源,但我也有。

:coffeescript 
    $('#record_table').dataTable 
    aaSorting: [[1, 'asc']] 
    bPaginate: false 
    bFilter: false, 
    aoColumns:[null, null, null, null, null, { bSortable: false }, null, { bSortable: false }] 

我的記錄集合用於定義參數,我不認爲它對這個問題有用。 (但肯定可以發佈,如果需要)

在此先感謝任何人誰能夠幫助弄清楚這是怎麼回事。

+0

直視分頁。可能最流行和最容易使用的是'will_paginate' – engineersmnky

回答

1

您需要在coffescript中傳遞分頁:true和pageLength:30,並從default_index_params方法中刪除page:1,per:30。所以,你的CoffeeScript看起來就像這樣:

:coffeescript 
     $('#record_table').dataTable 
     aaSorting: [[1, 'asc']] 
     paging: true 
     pageLength: 30 
     bFilter: false, 
     aoColumns:[null, null, null, null, null, { bSortable: false }, null, { bSortable: false }] 

您default_index_params會是這樣的:

def default_index_params 
    { 
     sort_by: "created_at", 
     sort_direction: "desc", 
     customer_id: 0 
    } 
    end 
+0

感謝您的期待。我採取了你提供的,但不幸的是沒有解決整個問題。它所做的是將頁面拆分爲3個,默認只有25個條目。我真的一直無法弄清楚爲什麼它只顯示25個結果。 – kdweber89

+0

,我已經能夠到目前爲止,這有點兒解決了這個問題做的唯一的事情是改變'每:30'到'每:500'和顯示所有記錄的150窗戶的具體數量之間的分裂。不過,我不希望將其用作解決方案,因爲有一天可能會有超過500條記錄。 (我真的希望所有這些都有一定意義,並且我非常感謝你願意幫忙一下。) – kdweber89

+0

pageLength:30會給你每頁30條記錄,並且你有150條記錄,所以它會用30條記錄分頁每頁記錄,我認爲你缺少的東西檢查此https://datatables.net/ –