从 ajax 和 jquery 与 rails 结合开始,我试图在我的用户索引页面底部创建一个“加载更多”链接。我的用户索引页面应该显示前 10 个用户,然后单击它在用户 div 底部加载下一个 10 个用户的链接,等等。我使用 Kaminari 进行分页。
我从以下代码开始:
用户控制器.rb
def index
@users = User.page(params[:page]).per(10)
end
用户/index.html.erb
<div id="users">
<%= render :partial => @users %>
</div>
<%= link_to "Load more", "#", :class => "next" %>
_user.html.erb
<div id="box">
<%= link_to full_name(user), user %>
</div>
应用程序.js
我发现这个片段(信用:here)试图满足我的需要:
function loadMore(pageNo) {
var url = '/users?page=';
$.get(url + pageNo, function(response) {
$("#users").append(response);
});
}
$(document).ready(function() {
var currPage = 1;
$("a.next").click(function() {
loadMore(++currPage);
});
});
我工作得很好,除了它加载所有页面布局和下一个结果不仅是我的 _user 部分中的框 div 我该 如何管理这个?我是否必须创建一个 index.js.erb (类似于:page.insert_html :bottom, :users, :partial => @users 但在 jquery 中,如果是这样,我该怎么做)?
谢谢你的帮助