Я использовал кнопку «Загрузить еще» вместо нумерации страниц, используя «will_paginate gem» в приложении rails. Это работает, чтобы показать данные, нажав кнопку «Загрузить еще». Но данные не приведены в таблице. Это показано за пределами стола. Я использовал гем 'will_paginate' и 'jquery -rails'.
фотография : страница индекса статьи
articles_controller.rb
def index
@articles = Article.paginate(:page => params[:page], :per_page => 5)
respond_with @articles
respond_to do |format|
format.html
format.js
end
end
articles/index.html.erb
<div class="container">
<h1>Listing Articles</h1>
<%= link_to 'New article', new_article_path, class: 'btn btn-sm btn-info' %>
<table class="table">
<thead>
<tr>
<th>Title</th>
<th>Text</th>
<th></th>
</tr>
</thead>
<div class="link-wrap">
<%= render "articles/article", cache: true %>
</div>
</table>
<div id="without_button">
<%= will_paginate @articles %>
</div>
<div class="link more">
<%= link_to 'More Articles', articles_path(:page => @articles.next_page), class: "btn btn-primary btn-sm next_page" %>
</div>
</div>
articles.js.erb
$('.link-wrap').append("<%= escape_javascript(render partial: "articles/article", :locals => { :article => @articles }) %>");
<% if @articles.next_page %>
$('.next_page').attr('href','<%= articles_path(:page => @articles.next_page) %>');
<% else %>
$('.more').remove();
<% end %>
pagination.js.erb
$ ->
$('#without_button').hide()
$('#without_button form').after('<button class="btn btn-primary btn-sm disabled" style="display: none;">More users</button>')
$('.next_page').on 'click', (e) ->
e.preventDefault()
url = $(this).attr('href')
$.getScript(url)