在ajax请求之后,will_pagenate不起作用

时间:2013-12-30 14:12:19

标签: ruby-on-rails ajax will-paginate kaminari

我正在使用ajax请求来更新我的listslists显示为will_paginate

在ajax发布之前它一切正常。

原始分页网址与/users/username?page=2类似。

发布到网址users/update_lists_from_twitter以刷新页面后,分页网址变为/users/update_lists_from_twitter?page=2

似乎will_paginate指的是发布请求网址。

我该如何解决?我已阅读will_paginatekaminari文件,但我找不到任何内容。

这是我的控制器,

# 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
    )

1 个答案:

答案 0 :(得分:0)

你能展示一些你的代码吗?我自己遇到这个案子。是的,行为很自然来自will_paginate

我曾尝试手动设置网址

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

您可以查看How to change will_paginate URLs?

如果我错了,请纠正我。