Forum: Ruby on Rails will_paginate issue

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Petan C. (Guest)
on 2008-11-27 13:30
Hi,

I am trying paginate (will_paginate) users posts. It is counting and
showing the page links correctly, but still showing all the posts on one
page.

@entries = @user.entries.paginate :per_page => 5, :page =>
params[:page], :order => 'created_at DESC'

If I change it to @entries = Entry.paginate :per_page => 5 ........
It is fine, but I would like to show only given users posts.

Thx, pete
Frederick C. (Guest)
on 2008-11-27 13:40
(Received via mailing list)
On Nov 27, 11:30 am, Petan C. <removed_email_address@domain.invalid>
wrote:
> It is fine, but I would like to show only given users posts.
>
Is your entries association funny in any way ?

Fred
Petan C. (Guest)
on 2008-11-28 10:23
Frederick C. wrote:
> Is your entries association funny in any way ?
> Fred


Hi Fred,
thanks. I have users and entries controller. In my show controller
(mydomain.com/profile/:username), I am using <% for entry in
@user.entries %> to show user posts. I dont know, if it is funny in any
way or not. :).

USERSCONTROLLER:
def show
  @entry = Entry.new
  username = params[:username]
  @user = User.find_by_username(username)
  @entries = @user.entries.paginate :per_page => 3, :page =>
params[:page], :order => 'created_at DESC'
.
.
.
end


ENTRIESCONTROLLER:
def show
    @entry = Entry.find_by_id_and_user_id(params[:id], params[:user_id],
:include => [:user, [:comments => :user]])
end

THX
Frederick C. (Guest)
on 2008-11-28 11:36
(Received via mailing list)
On Nov 28, 8:23 am, Petan C. <removed_email_address@domain.invalid>
wrote:
> Frederick C. wrote:
> > Is your entries association funny in any way ?
> > Fred
>
> Hi Fred,
> thanks. I have users and entries controller. In my show controller
> (mydomain.com/profile/:username), I am using <% for entry in
> @user.entries %> to show user posts. I dont know, if it is funny in any
> way or not. :).

That's not what I meant. What I meant was does it have any interesting
options on it that  might confuse will paginate ?

Fred
Petan C. (Guest)
on 2008-11-28 12:15
> That's not what I meant. What I meant was does it have any interesting
> options on it that  might confuse will paginate ?
>
> Fred

No, its just a plain text and thats it. It is a simple sideblog
(user_id,body,created_at).Could it be problem, that I am using data from
entries controller in User controller? Cheers, Pete
Frederick C. (Guest)
on 2008-11-28 12:25
(Received via mailing list)
On Nov 28, 10:15 am, Petan C. <removed_email_address@domain.invalid>
wrote:
> > That's not what I meant. What I meant was does it have any interesting
> > options on it that  might confuse will paginate ?
>
> > Fred
>
> No, its just a plain text and thats it. It is a simple sideblog
> (user_id,body,created_at).
That's not what I meant. I was thinking of things like
custom :finder_sql and so on

>Could it be problem, that I am using data from
> entries controller in User controller?
No.

You mentionned
> I am using <% for entry in
> @user.entries %> to show user posts. I dont know, if it is funny in any
> way or not. :).

If you actually have that line in your view you'll be ignoring the
pagination stuff completely, since @entries is the thing with the
limited collection

Fred
Petan C. (Guest)
on 2008-11-28 15:04
> If you actually have that line in your view you'll be ignoring the
> pagination stuff completely, since @entries is the thing with the
> limited collection
>
> Fred

Hi Fred,

all right, thanks. I've just tried to render the posts as collections of
partials. <%= render :partial => 'user_posts', :collection =>
@user.entries %>

But it is still the same. Is there another way to show only the users
posts and then be able to paginate them? THX
Frederick C. (Guest)
on 2008-11-28 15:30
(Received via mailing list)
On Nov 28, 1:04 pm, Petan C. <removed_email_address@domain.invalid>
wrote:
> @user.entries %>
no. you need :collection => @entries (assuming that in your controller
you've done @entries = @user.entries.paginate ...
This topic is locked and can not be replied to.