Начиная с ajax и jquery в сочетании с rails, я пытаюсь создать ссылку "load more" внизу моей страницы индекса пользователя.
На моей странице индекса пользователя должны отображаться 10 первых пользователей, затем, нажав на ссылку, она загружает следующих 10 пользователей внизу пользовательского раздела и т. Д.
Я использую Kaminari для нумерации страниц.
Я начал со следующего кода:
User_controller.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>
application.js
Я нашел этот фрагмент (кредит: здесь ), пытаясь подогнать его под мои нужды:
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);
});
});
Я отлично работаю, за исключением того, что загружает весь макет страницы со следующими результатами, а не только блок div в моем _user частичном
Как я могу справиться с этим? Нужно ли было создавать index.js.erb (что-то вроде: page.insert_html: bottom,: users, :partal => @users, но в jquery, если так, как я могу это сделать)?
Спасибо за вашу помощь