我有一张桌子,我需要以分页的方式显示记录。
假设我有200条记录,我需要在每页上显示10条记录。我使用Paginate从Rhom获取数据。
MyModel.paginate(:page => 1, :per_page => 10)
那么如何在不改变视图的情况下使用ajax调用来获取下一页记录。
非常感谢帮助。
答案 0 :(得分: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');
});
<强> Suggession 强>
如果您想减轻编写此类代码的负担,您可以简单地获取视图中的所有记录,并使用JqueryDataTable按照您的需要进行渲染。
$(document).ready( function () {
$('.youTable').dataTable({
"aaSorting": [[ 1, "asc" ]],
"aoColumnDefs": [{ "bSortable": false, "aTargets": [ 0,1 ] }]
});
});