问题
The previous question is here : what is the common practice on limit the result in RoR?
Here's the 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
and my show.html.erb:
<%=h @posts.length %>
<%=h @posts.inspect %>
<%= will_paginate @posts %>
But in the browser, I only get this:
4 [#<Post id: 7, title: "I am a root", description: "what can I do", views: 8, created_at: "2010-07-12 15:16:26", updated_at: "2010-07-12 15:16:26", user_id: 32>, #<Post id: 8, title: "root Post two", description: "This is the second one.", views: 2, created_at: "2010-07-12 15:42:57", updated_at: "2010-07-12 15:42:57", user_id: 32>, #<Post id: 9, title: "The third one.", description: "Ok, this is the third ads", views: 3, created_at: "2010-07-12 15:43:18", updated_at: "2010-07-12 15:43:18", user_id: 32>, #<Post id: 10, title: "I type very many", description: "What is very many for?", views: 33, created_at: "2010-07-12 15:43:34", updated_at: "2010-07-12 15:43:34", user_id: 32>]
Besides that, I don't see any other stuff.
I tried to trouble shooting with console:
>> defined? WillPaginate
=> "constant"
>> [].paginate
=> []
>> ActiveRecord::Base.respond_to? :paginate
=> true
回答1:
In this case, you are seeing exactly what you should... the will_paginate method will only print out pagination links if necessary. You don't see the post listing, because you don't iterate though the @posts array. Try adding this:
<% @posts.each do |post| -%>
<p>Title: <%= post.title %>
...
<% end -%>
You probably will not get the pagination links unless you have 30 records in the array (I think that is the default). You can also do this in your controller to see the pagination working with a smaller set of data:
@posts = @user.posts.paginate :page => params[:page], :per_page => 2
Hope this helps!
回答2:
Get rid of the inspect
line and add custom code to display each property of your objects.
来源:https://stackoverflow.com/questions/3230344/will-paginate-not-showing-on-the-web