Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将分页+;jQueryUI选项卡_Jquery_Ruby On Rails_User Interface_Jquery Plugins - Fatal编程技术网

将分页+;jQueryUI选项卡

将分页+;jQueryUI选项卡,jquery,ruby-on-rails,user-interface,jquery-plugins,Jquery,Ruby On Rails,User Interface,Jquery Plugins,嗨 我使用的是jQueryUI模式对话框。在这个对话框中,我有两个jqueryui选项卡,每个选项卡都包含一个div,其中包含一个项目列表,这些项目使用will_paginate(rails)分页 我有几个问题: 当我点击分页页面时,我的模式关闭,但我有url/?page=2 当我重新打开模式时,我在第一个选项卡的第二页,如果我单击第二个选项卡,我也在第二页,这是不需要的 谢谢您的帮助。我假设您的模式对话框正在关闭,因为您正在使用新参数刷新页面。以下是将ajax与will_paginate一

我使用的是jQueryUI模式对话框。在这个对话框中,我有两个jqueryui选项卡,每个选项卡都包含一个div,其中包含一个项目列表,这些项目使用will_paginate(rails)分页

我有几个问题:

  • 当我点击分页页面时,我的模式关闭,但我有url/?page=2
  • 当我重新打开模式时,我在第一个选项卡的第二页,如果我单击第二个选项卡,我也在第二页,这是不需要的

谢谢您的帮助。

我假设您的模式对话框正在关闭,因为您正在使用新参数刷新页面。以下是将ajax与will_paginate一起使用的官方说明,因此您无需刷新页面:

如果您不关心这些页面的可爬行性,也可以尝试使用
RemoteLinkRenderer
解决方案。基本上,创建一个名为
remote\u link\u 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
class RemoteLinkRendererurl_for(page),:method=>:get}.merge(@remote),attributes)
结束
结束
然后在您看来,确保您的will_paginate通话具有以下选项:

<%= will_paginate @items, :renderer => 'RemoteLinkRenderer' , :remote => { :update => 'items_div'} %>
'RemoteLinkRenderer',:remote=>{:update=>'items\u div'}%>
其中,
@items
是分页变量,而
items\u div
是正在更新的dom元素的id

您可以在google上搜索
将为remotelinkrenderer
分页以获取更多信息

至于您的第二个问题,问题是两个分页都使用相同的参数来跟踪它们所在的页面。您可以通过在调用will_paginate时的视图中,在一个或两个实例上包括
:param_name
选项来解决此问题,例如
:param_name=>:tab2_page
。此处指定: