REST routes & link_to paths

I've mapped this nested route for a product catalog...

  map.resources :brands do |brand|
    brand.resources :product_lines do |product_line|
      product_line.resources :products do |product|
        product.resources :upcs
      end
    end
  end

And the pretty URLS are working great (when manually typed)...
/brands/1/product_lines/5/products/10/upcs/15/edit

My problem is I don't know how to construct those pretty links in my
link_to and redirect_to paths...

product_lines_path(:brand_id => params[:id])
# returns: /product_lines?brand_id=4
# desired: /brands/4/product_lines

link_to product_path(@product)
# returns: /products/4
# desired: /brands/1/product_lines/5/products/4

Any ideas? Thanks.

Sav wrote:

My problem is I don't know how to construct those pretty links in my
link_to and redirect_to paths...

Whenever you are looking into a routing issue, your first step should
be:

rake routes

run in your application top level and understand what this is telling
you.

product_lines_path(:brand_id => params[:id])
# returns: /product_lines?brand_id=4
# desired: /brands/4/product_lines

brand_product_lines_path 1
or:
brand_product_lines_path :brand_id => 1

link_to product_path(@product)
# returns: /products/4
# desired: /brands/1/product_lines/5/products/4

brand_product_line_product_path 1, 5, 4
or:
brand_product_line_product_path :brand_id => 1,
        :product_line_id => 5, :product_id => 4

These URLs are pretty cumbersome. Have a look here for some advise on
nested resources:

http://weblog.jamisbuck.org/2007/2/5/nesting-resources