Rails Kaminari Пагинация с использованием Ajax - PullRequest
2 голосов
/ 25 января 2012

У меня проблемы с разбиением на страницы с помощью Ajax. Мой код просмотра выглядит для нумерации страниц выглядит как

= paginate @products, :remote => true

Однако вызов AJAX не выполняется с кодом ошибки, и веб-инспектор показывает его, как показано ниже enter image description here

Логи сервера показывают

ERROR Errno::ECONNRESET: Connection reset by peer
/Users/user/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/webrick/httpserver.rb:56:in `eof?'
/Users/user/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/webrick/httpserver.rb:56:in `run'
/Users/user/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/webrick/server.rb:183:in `block in start_thread'

Что интересно, если я добавлю гиперссылку на ту же страницу, например

= link_to('Test', products_path(:page => 2), :remote => true)

Ссылка выглядит точно так же, как и сгенерированная Kaminari, и вызов Ajax успешно выполняется без каких-либо проблем. Более интересно, если я изменю сгенерированную пагинационную ссылку с

<a href="/brands/deborah-lippmann" data-remote="true" rel="prev">1</a>

до

<a href="/brands/deborah-lippmann" data-remote="true">1</a>

, который не имеет ничего общего с AJAX, ссылка снова работает нормально.

Это как-то связано с магией jquery-ujs, происходящей до того, как ссылки будут обработаны Kaminari, который использует расширения ActionView и контекст ActionView для создания тегов для ссылок на страницы Любая помощь по этому вопросу с благодарностью!

1 Ответ

0 голосов
/ 06 февраля 2012

Чек / app/views/layouts/application.html.erb для следующих строк

<%= javascript_include_tag :defaults %>
<%= csrf_meta_tag %>
...