我在应用程序中使用了will_paginate插件,但是当我对资源进行分页时,它只是将HTML作为文本吐出,不提供指向下一页等的链接。
当我手动输入该插件正在运行的网址时,它不会使<%= will_paginate @products %>
成为下一个1 2 3 ...最后一个
这是输出
<span class="disabled prev_page">&laquo; Previous</span> <span class="current">1</span> <a href="/products?page=2" rel="next">2</a> <a href="/products?page=2" class="next_page" rel="next">Next &raquo;</a>
控制器: def index
@products = Product.all.paginate :per_page => 5, :page => params[:page]
@product_categories = ProductCategory.find(:all)
respond_to do |format|
format.html # index.html.erb
format.xml { render :xml => @products }
end
端
视图
<%= will_paginate @products %>
<%= will_paginate %> #for some reasons this works too
答案 0 :(得分:2)
source 'http://rubygems.org'
gem 'rails', '3.0.0.beta2'
gem "will_paginate", '3.0.pre'
如果遇到与haml相关的麻烦,我们会使用该版本:
gem 'haml', '3.0.2'
答案 1 :(得分:2)
will_paginate现在位于此位置:
gem'will_paginate',: git =&gt; 'git://github.com/mislav/will_paginate.git',: branch =&gt; “Rails3中”
更新您的gemfile
答案 2 :(得分:1)
我认为原因是rails3逃脱html的方式以及will_pagiante
被转义的原因。
要解决此问题,首先需要获取正确的gem,因为插件无法正常工作,因此添加gem 'agnostic-will_paginate', :require => 'will_paginate'
并在位于rails3项目的app文件夹中的新gem文件中完成。
之后,您需要阻止rails使用raw
转义will_paginate,这样就可以了
<%=raw will_paginate @products %>
这是<%=h will_paginate @products %>
的反对意见,其在rails3中等同于<%= will_paginate @products %>
答案 3 :(得分:0)
将与GITHUB签订合同。此存储库不再更新。 建议您安装gem而不是Rails插件:
gem install will_paginate
再试一次