Paginating_find losing scope


#1

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


#2

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


#3

Problem solved:

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

Thanks for the hint Alex!