1

我有一张表,我需要以分页方式显示记录。

假设我有 200 条记录,我需要在每页上显示 10 条记录。我使用Paginate从 Rhom 获取数据。

  MyModel.paginate(:page => 1, :per_page => 10)

那么如何在不更改视图的情况下使用 ajax 调用来获取下一页记录。

帮助表示赞赏。

4

1 回答 1

0

您可以通过发送页码和页限制来对方法进行ajax调用,并通过响应获取视图。

您应该使视图具有与原始视图中的完全相同的设计,并且在 ajax 成功后,只需将视图替换为新视图即可。

$.get('/app/MyModel/get_new_view, 
    { pageNumber: 1,  // u need to set it dynamically
      pageLimit: 10 }
    )
    .success( function ( data ) {

        // Check the Responce
        if(data.length != 0) {
            $('.container').html(data);
        }
        else {
            alert('Unable to get the page');
        }
    })
    .error ( function ( data ) {
        alert('Unable to get the page');
    });

建议

如果您想减轻编写此类代码的负担,您可以简单地获取视图中的所有记录并使用JqueryDataTable将它们呈现为您想要的。

$(document).ready( function () {
     $('.youTable').dataTable({
       "aaSorting": [[ 1, "asc" ]],
       "aoColumnDefs": [{ "bSortable": false, "aTargets": [ 0,1 ] }]
     });
 });
于 2013-09-15T06:46:23.320 回答