Forum: Ruby on Rails paginating_find losing scope

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.
Ae87d1cf6f5b8f5ae2d42c3ac32caef2?d=identicon&s=25 Scott (Guest)
on 2008-12-09 01:30
(Received via mailing list)
Hello,

I'm having a problem with paginating_find losing the context of the
array it's paginating.

For example,

  URL:  http://localhost:3000/companies/1/users/1

  <% @tickets = @user.tickets.find(:all, page => {:size =>
10, :current => params[:page]}) %>
  <% for ticket in @tickets %>
    ...
  <% end %>
  <%= paginating_links (@tickets) %>

The problem is 'paginating_links' is spitting out pagination URLs that
look like:

  http://localhost:3000/users/1?page=2

instead of:

  http://localhost:3000/companies/1/users/1?page=2

Any ideas why it's losing the context of the company?

Thank you!

-scott
Ae87d1cf6f5b8f5ae2d42c3ac32caef2?d=identicon&s=25 Scott (Guest)
on 2008-12-09 04:21
(Received via mailing list)
I figured out what is making this happen.  I have a routes file that
contains:

  map.resources :users, :has_many => [:tickets]
  map.resources :companies, :has_many => [:users]

Is the paginating_links method simply finding the first route?  Any
way to tell it the correct route/path?

Thanks,

-scott
Ae87d1cf6f5b8f5ae2d42c3ac32caef2?d=identicon&s=25 Scott (Guest)
on 2008-12-09 17:50
(Received via mailing list)
Problem solved:

<%= paginating_links(@tickets, {:params =>
    {:controller => "companies/#{@company.id}/users/#{@user.id}/"},
    :window_size => 10}) %>

Thanks for the hint Alex!
This topic is locked and can not be replied to.