我有一张表,我需要以分页方式显示记录。
假设我有 200 条记录,我需要在每页上显示 10 条记录。我使用Paginate从 Rhom 获取数据。
MyModel.paginate(:page => 1, :per_page => 10)
那么如何在不更改视图的情况下使用 ajax 调用来获取下一页记录。
帮助表示赞赏。
您可以通过发送页码和页限制来对方法进行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 ] }]
});
});