Rails: pushState не показывает URL через ajax - PullRequest
0 голосов
/ 15 января 2020

У меня есть код для разбивки на страницы, который использует kaminari gem:

    <div class="card-footer" id="paginator">
      <nav aria-label="Page Navigation">
         <%= paginate @contacts, remote: true%>
      </nav>
    </div>

В основном это создаст ff html:

<nav>
    <ul class="pagination">
      <li class="page-item">
  <a class="page-link" data-remote="true" href="/dashboard/contacts">« First</a>
</li>

      <li class="page-item">
  <a rel="prev" class="page-link" data-remote="true" href="/dashboard/contacts?page=3">‹ Prev</a>
</li>

            <li class="page-item">
    <a class="page-link" data-remote="true" href="/dashboard/contacts">1</a>
  </li>

            <li class="page-item">
    <a class="page-link" data-remote="true" href="/dashboard/contacts?page=2">2</a>
  </li>

            <li class="page-item">
    <a rel="prev" class="page-link" data-remote="true" href="/dashboard/contacts?page=3">3</a>
  </li>

            <li class="page-item active">
    <a data-remote="true" class="page-link">4</a>
  </li>



    </ul>
  </nav>

Я использую ajax поэтому, чтобы сделать страницу URL, такую ​​как http://localhost:3000/dashboard/contacts?page=2, мне нужно создать pushState, чтобы выбрать это, поэтому в моем файле application.js я добавил ff:

$(document).on('click', '.pagination a[data-remote=true]', function(){
  history.pushState({}, '', $(this).attr('href'));
});

Когда я нажимаю на Я ожидал, что URL-адрес будет отображаться в строке URL-адреса соответствующим образом, но не изменился, пока он все еще изменяет содержимое.

Heads on my index.js.erb:

$('#contacts').html('<%= j(render @contact) %>');
$('#paginator').html('<%= j(paginate(@contacts, remote: true)) %>');

Есть идеи, почему это не работает и почему URL-адрес не отображается в строке URL?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...