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线并添加自定义代码以显示对象的每个属性。