После запроса ajax will_pagenate не работает

Я использую запрос ajax для обновления моего файла lists. И lists показаны с will_paginate.

До публикации ajax все работает нормально.

Исходный URL-адрес страницы похож на /users/username?page=2.

После публикации по URL-адресу users/update_lists_from_twitter для обновления страницы URL-адрес разбиения на страницы становится похожим на /users/update_lists_from_twitter?page=2.

Кажется, will_paginate относится к URL-адресу почтового запроса.

Как я могу это исправить? Я прочитал документы will_paginate и kaminari, но ничего не нашел.

Вот мой контроллер,

# users_controller.rb
class UsersController < ApplicationController
  respond_to :html
  def show
    @user = User.friendly.find(params[:id])
    @list_users = @user.list_users.paginate(page: params[:page], per_page: 30)
  end
  def update_lists_from_twitter
    current_user.update_lists_from_twitter
    @list_users = current_user.list_users.paginate(page: params[:page], per_page: 30)
    respond_with(current_user, layout: false)
  end
end

и посмотреть,

# users/show.html.erb
<div id='user-lists'>
  <%= will_paginate @list_users, controller: 'users', action: 'index', renderer: FoundationPagination::Rails %>
  <% @list_users.each do |list_user|  %>
    <%= render "shared/member", member: list_user %>
  <% end %>
</div>

и сценарий кофе.

# users.js.coffee
$ ->
  $('#reload-list').on(
    'ajax:success': (data, res, xhr) ->
      $("#user-lists").html res
    )

person ironsand    schedule 30.12.2013    source источник
comment
Прежде всего, нам понадобится ваш код представления и код контроллера. Однако обычная передаваемая переменная страницы — это page, а не pages. Вы уверены, что проблема не в этом?   -  person kddeisz    schedule 30.12.2013
comment
pages была моя опечатка. И я добавил свой код. Спасибо за совет!   -  person ironsand    schedule 30.12.2013


Ответы (1)


Можете показать свой код? Я встречаюсь с этим случаем самостоятельно. Да, такое поведение было естественным исходом от will_paginate.

Однажды я пытался решить, вручную установив URL-адрес, например

<%= will_paginate @models, :controller => 'models', :action => 'index' %>

Вы можете проверить Как изменить URL-адреса will_paginate?

Пожалуйста, поправьте меня, если я ошибаюсь.

person ksugiarto    schedule 30.12.2013