will_paginate 3.0.3和数据远程

时间:2012-03-04 01:56:07

标签: ruby-on-rails-3 will-paginate

will_paginate 3.0.3视图助手文档状态,“:remote - 将数据远程或远程属性设置为true,具体取决于link_to的实现”(sic,https://github.com/mislav/will_paginate/wiki/the-will_paginate-view-helper)。

通过Rails 3.2使用“<%= will_paginate @collection,:remote => true%>”呈现:

<div class="pagination" remote="true">
  <span class="previous_page disabled">← Previous</span>
  <em class="current">1</em>
  <a href="/people?page=2" rel="next">2</a>
  <a class="next_page" href="/people?page=2" rel="next">Next →</a>
</div>

即:没有数据远程属性应用于链接tag.s,但是没有应用于分页div(看起来像文档中描述的未知选项属性)。这里的最后一篇文章(https://github.com/mislav/will_paginate/pull/100)指出:“我看到这个拉取请求,并且引用的请求都是针对2.3版本的.3.0版本已经包含此功能。有人应该关闭它。“

因此,我希望在will_paginate生成的分页链接标签中看到“data-remote ='true'”,这样它就可以由Rails UJS处理。

我离开基地还是有人有这个工作?或者,仍然需要新的LinkRenderer,如下所述: http://jhonynyc.tumblr.com/post/4348012015/making-will-paginate-ajaxable-in-rails-3#notes

感谢。

3 个答案:

答案 0 :(得分:5)

我建议你看看Kaminari吗?当我切换到Rails 3时,我切换到它,我真的很喜欢它。它干净,模块化,效果很好 - 包括AJAX与:remote => true的分页。 Ryan Bates回归的时间很长overview of Kaminari

我知道这是解决这个问题的一步,但有时候最好不要继续前进。 : - )

答案 1 :(得分:0)

不幸的是,错误的will_paginate gem不支持:remote => true到目前为止,尽管文档另有说明。但是使用jQuery有一个非常简单的工作。请考虑以下示例:

page.html.erb

<div id="collection_index">
  <% @my_collection.each do |x| %>
    <%= x.name %> <br />
  <% end %>     
</div>

<div id="collection_paginator" >
  <%= will_paginate( @my_collection ) -%>
</div>

<script type="text/javascript">
  $(document).ready( function() {
    $('#collection_paginator a').each( function() {
      $(this).attr( 'data-remote', 'true' )
      $(this).attr( 'data-type', 'html' )
      $(this).attr( 'data-replace', '#collection_index' )
    }) 
  })
</script>

答案 2 :(得分:0)

我发现这个效果很好 99.9%,试一试=&gt;   https://gist.github.com/jeroenr/3142686