will_paginate没有在网上显示……
前面的问题是: 限制RoR结果的常见做法是什么?
这是users_controller:
def show @user = User.find(params[:id]) @posts = @user.posts.paginate :page => params[:page] respond_to do |format| format.html # show.html.erb format.xml { render :xml => @user } end end
和我的show.html.erb:
但在浏览器中,我只能得到这个:
4 [#, #, #, #]
除此之外,我没有看到任何其他东西。
我试图用控制台解决问题:
>> defined? WillPaginate => "constant" >> [].paginate => [] >> ActiveRecord::Base.respond_to? :paginate => true
在这种情况下,您正好看到了您的应该… will_paginate方法只会在必要时打印出分页链接。 您没有看到post列表,因为您不通过@posts数组进行迭代。 尝试添加此:
<% @posts.each do |post| -%> Title: <%= post.title %> ... <% end -%>
你可能不会得到分页链接,除非你在数组中有30条记录(我认为这是默认值)。 您也可以在控制器中执行此操作,以查看使用较小数据集的分页:
@posts = @user.posts.paginate :page => params[:page], :per_page => 2
希望这可以帮助!
摆脱inspect
线并添加自定义代码以显示对象的每个属性。