我正在使用jquery ui模式对话框。在这个对话框中,我有两个jquery ui选项卡,每个选项卡都包含一个带有用will_paginate(rails)分页的项目列表的div。
我有几个问题:?
- 当我点击分页我的模式是关闭的页面上,但我的网址/网页= 2
- ,当我重新打开该模式我是上我的第一个标签的第二页,如果我点击第二个标签,我也在第二页上,这是不想要的
Thx为您提供帮助。
我正在使用jquery ui模式对话框。在这个对话框中,我有两个jquery ui选项卡,每个选项卡都包含一个带有用will_paginate(rails)分页的项目列表的div。
我有几个问题:?
Thx为您提供帮助。
我假设你的模态对话框正在关闭,因为你正在用新参数刷新页面。下面是使用Ajax和will_paginate的官方说明,所以你不需要刷新页面:
https://github.com/mislav/will_paginate/wiki/Ajax-pagination
您也可以尝试RemoteLinkRenderer
解决方案,如果你不关心这些网页的爬行。基本上,创建一个名为remote_link_renderer.rb
,并把它帮手:
class RemoteLinkRenderer < WillPaginate::LinkRenderer
def prepare(collection, options, template)
@remote = options.delete(:remote) || {}
super
end
protected
def page_link(page, text, attributes = {})
@template.link_to_remote(text, {:url => url_for(page), :method => :get}.merge(@remote), attributes)
end
end
然后在您的视图,请确保您的will_paginate调用有以下选项:
<%= will_paginate @items, :renderer => 'RemoteLinkRenderer' , :remote => { :update => 'items_div'} %>
其中@items
是无论你的分页变量和items_div
是正在更新的dom元素的标识。
您可以谷歌的will_paginate remotelinkrenderer
欲了解更多信息。
至于你的第二次发行,问题是这两个分页使用相同的参数来跟踪他们在哪个页面上。您可以在调用will_paginate时在视图中修复此问题,其中包括一个或两个实例上的:param_name
选项,例如, :param_name=>:tab2_page
。这里指定:http://rubydoc.info/gems/will_paginate/2.3.15/WillPaginate/ViewHelpers