How to write link_to method to Rails route globbing

I have a product page,I want to change the url “example.com/products/
list?category_id=1&price_id=5&type_id=2&sort_by=name&…” to

example.com/products/list/category_id/1/price_id/5/type_id/2/sort_by/
name…”.
my routes like

match ‘/products/list(/*specs)’, :controller => ‘products’, :action
=> ‘list’,:as => :list_products
My controller

@products=Product.scoped
@products = @Product.where(Hash[*params[:specs].split("/")]) if
params[:specs]
In my views:

Categories:
<% Category.all.each do |category| %>

<%= link_to category.name,list_products_path(:specs => ['category', category]) %>

<% end %> Price: <% Prices.all.each do |price| %>

<%= link_to price.name,list_products_path(:specs => ['local', local]) %>

<% end %> I wnat to get url like /products/list/category/1/local/2... ,but it can only get url like /products/category/1 or /news/local/2. How to write the link_to method to make it works? Thank you.

On Fri, Aug 26, 2011 at 3:07 AM, doabit [email protected] wrote:

Price:
<% Prices.all.each do |price| %>

<%= link_to price.name,list_products_path(:specs => ['local', local]) %>

<% end %> I wnat to get url like /products/list/category/1/local/2... ,but it can only get url like /products/category/1 or /news/local/2. How to write the link_to method to make it works? Thank you.

Setup your routes using nested resources.
http://guides.rubyonrails.org/routing.html#nested-resources
After setting that up, use rake routes to find the url you need.


You received this message because you are subscribed to the Google G.
“Ruby on Rails: Talk” group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en.