kaminari ajax 分页不更新分页
Posted
技术标签:
【中文标题】kaminari ajax 分页不更新分页【英文标题】:kaminari ajax pagination not updating the paginate 【发布时间】:2011-07-27 23:29:09 【问题描述】:我正在使用 kaminari gem 在 rails3 中实现分页。
我一直在关注 github 上的这段代码 https://github.com/amatsuda/kaminari_example/commits/ajax
不幸的是,下面的代码
jQuery('#paginator').html('true).to_s) %>');似乎没有工作。
我的 javascript 用于用户选择页面的操作是
jQuery('a','nav.pagination').click(function() // 从href中获取页面值 var page = jQuery(this).attr('href').replace('/home/index?page=',''); jQuery.getJSON('?page='+page, function(data) for (var r in data) 结果.push(数据[r]); ); showResults(结果,(page-1)*10); jQuery('#paginator').html('true).to_s) %>'); );showResults 函数通过 JSON 运行并创建一堆 html 元素。 一切都很好,除了重新加载结果时分页没有更新以显示当前页面。
我在 firebug 中没有收到任何错误,我正在使用带有 ruby 192 的 Rails 3。
【问题讨论】:
【参考方案1】:您确定您的 HTML 中有分页器的“#paginator”元素吗? 我的意思是,以下代码是否返回 Firebug 上的元素?
jQuery('#paginator')
【讨论】:
是的,firebug 发现 id='paginator' 没问题。不知道为什么这不起作用。虽然我正在考虑用滑块替换“分页链接”,所以我可能不会担心。【参考方案2】:为了更新结果和分页,您需要同时更新两者。 Paginate AJAX 将请求作为 JS 发送,因此要处理它们,您应该在 view 文件夹中有 action.js.erb 文件。在这里执行两件事。
1) 更新结果
$("#issues").html("<%= j render(:partial => 'recipes') %>");
2) 更新分页
$('.pagination').html('<%= escape_javascript(paginate(@recipes, :remote => true).to_s) %>');
找到相应的页面属性来更新分页。这将更新结果和分页运行时间。
【讨论】:
以上是关于kaminari ajax 分页不更新分页的主要内容,如果未能解决你的问题,请参考以下文章
kaminari 通过 ajax 分页,remote = true 不影响 Rails 3 中的视图