Rails3 / will_paginate / Ajax - следующая / предыдущая ссылка не работает должным образом (это ошибка?) - PullRequest
2 голосов
/ 21 марта 2011

Я слежу за " Pagination с ajax " для моего рельса 3. Кажется, все работает отлично, за исключением того факта, что Предыдущая и следующая ссылки не работают вообще.

В основном

  • Похоже, что предыдущая ссылка застряла, даже если я нажимаю на другие страницы (когда я нахожусь на странице пользователя / шоу1)

  • «Следующая ссылка» работает один раз до страницы 2 (я не могу использовать ее после)

  • Номера не обновлялись, когда я пришел к "..."

Мне было бы приятно узнать, если у кого-то возникла такая же проблема (ошибка?) Или мой код неверен. Я использую paginate ("~> 3.0.pre2" и jquery 1.8.10) для списка микросообщений, зависящих от пользователей.

Большое спасибо за вашу помощь!

здесь код:

layout_helper.rb

module LayoutHelper
  def javascript(*args)
    content_for(:head) { javascript_include_tag(*args) }
  end
end

users_controller.rb

def show
    @user = User.find(params[:id])
    @microposts = @user.microposts.paginate(:per_page => 10, :page => params[:page])
end

microposts / _micropost.html.erb

...

Пользователи / show.html.erb

<% javascript "pagination" %>

...

<%= will_paginate @microposts %>
  <ul id="feed_items">
    <%= render @microposts %>
  </ul>

Пользователи / show.js.erb

$("#feed_items").html("<%= escape_javascript(render @microposts ) %>");

pagination.js

$(document).ready(function() {
  $(".pagination a").live("click", function() {
    $.get(this.href, null, null, "script");
    return false;   
  });
});

Ответы [ 2 ]

2 голосов
/ 15 сентября 2011

Или, если вы хотите придерживаться will_paginate, есть простое исправление.Просто поместите ваш вспомогательный метод в div следующим образом:

<div id="page_links">
 <%= will_paginate @microposts %>
</div>

Затем в файле js.erb добавьте эту строку в конец:

$('#page_links').html('<%= escape_javascript(will_paginate @microposts) %>');

Вы уже пропускаете страницуи все правильные параметры там в любом случае, так что это просто заставит ссылки на представление корректно обновляться.

1 голос
/ 21 марта 2011

Предлагаю вам взглянуть на http://railscasts.com/episodes/254-pagination-with-kaminari.

will_paginate не обновляется для работы с Rails 3.

...