Hi Julian, Thank you very much, it worked like a charm! :D. Ihave another doubt, is there any way to make this horrible URL:
http://www.angelazul.cr/galeria/page/1?type=&criteria=au&category=1&orderby=price&ocation=1 use friendly urls?, any idea? Regards On 27 mayo, 04:05, Julian Leviston <[email protected]> wrote: > On 27/05/2009, at 7:40 PM,fRAnKEnSTEinwrote: > > > > > > > Hi there, > > > i have a catalog of products, i am using will paginator for paging the > > results. now The user can sor the products by: name, price or > > category, and can filter the products by category and ocation. For > > doing this i have used link_to hepler like so: > > > link_to "Name", :action => :index, :orderby => "name" > > > link_to "Category", :action => :index, :orderby => "category_id" > > > link_to "Price", :action => :index, :orderby => "price" > > > for category in @categories > > link_to category.name, :action => :index, :category => category.id > > end > > > for ocation in @ocations > > link_to ocation.name, :action => :index, :ocation => ocation.id > > end > > > So, when the user click in the sort functionality, the URL will be any > > of these: > > >http://www.something.com/gallery/page/4?orderby=name > >http://www.something.com/gallery/page/4?orderby=category_id > >http://www.something.com/gallery/page/4?orderby=price > > > And when the user click on the filter funtionality the URl will be > > any: > > >http://www.something.com/gallery/page/4?category=1 > >http://www.something.com/gallery/page/4?ocation=3 > > > I am having problems because i do not know how to keep both parameters > > on the url if the user click on one of the sort links anf one of the > > ocation or category links. In this case what i want to have in my URL > > will be: > > HiFrankenstein(;-)), > > In your controller, you'll need to do something like this: > > @page = params[:page] > @category_id = params[:category] > @orderby = params[:orderby] > @ocation_id = params[:ocation] > > and so on. > > As you (may or may not) know, these instance variables (the ones with > @ signs) get auto-transferred to view for you... > > Now in the view, your links will have to include all of these... > (omitting them obviously where you're overriding them or setting them > specifically - for example where you're setting the sort order link, > you wouldn't want to include the sort order instance varaible there...) > > eg: > > link_to "Name", :action => :index, :orderby => "name", :category => > @category_id, :page => @page, :ocation => @ocation_id > > for category in @categories > link_to category.name, :action => :index, :category => > category.id, :page => @page, :orderby => @orderby, :ocation => > @ocation_id > end > > for ocation in @ocations > link_to ocation.name, :action => :index, :ocation => > ocation.id, :category => @category_id, :page => @page, :orderby => > @orderb > end > > And back in the controller, your find command will need a condition > clause that only uses the params that have been set, and order clause > that only uses the orderby params if it's been set. > > HTH, > Julian > > ---------------------------------------------- > Learn:http://sensei.zenunit.com/ > Last updated 20-May-09 (Rails, Basic Unix) > Blog:http://random8.zenunit.com/ > Twitter:http://twitter.com/random8r > > >http://www.something.com/gallery/page/4?category=1&orderby=name > > > Or if nothing has been selected, i wish for example: > > >http://www.something.com/gallery/page/4?category=&orderby= (in this > > case i set defaults values for each parameter) > > > Any idea, suggestion? > > > Regards --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "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 -~----------~----~----~----~------~----~------~--~---

