2016-07-25 2 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 메소드에서 페이지 : 1을 30 개씩 제거해야합니다. 그래서 커피 스크립트는 다음과 같이 표시됩니다 뜻과 같습니다

: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

필자가 지금까지 할 수 있었던 유일한 문제는'per : 30'을'per : 500'으로 바꾸는 것입니다. 그리고 이것은 특정 수의 창들 사이에 150 개의 모든 레코드를 표시합니다. 하지만 언젠가는 500 개가 넘는 레코드가있을 수 있기 때문에이를 솔루션으로 사용하고 싶지는 않습니다. (나는 그 모든 것이 조금 이해가된다면 조금이라도 도와 주겠다.) – kdweber89

+0

pageLength : 30은 페이지 당 30 개의 레코드를주고 150 개의 레코드를 가지므로 30 개의 레코드로 페이지를 매깁니다. 페이지 레코드 당, 나는 당신이 무언가를 놓치고 있다고 생각한다. https://datatables.net/ –

관련 문제