ruby - Dynamic routes with Rails 3 -


i have task develop rails application following model routing.

i need have pagecontroller , page model. page urls must /contacts, /shipping, /some_page.

also need have catalogcontroller , category model. categories urls must /laptops, /smartphones/android.

and productscontroller , product model, urls of products must line /laptops/toshiba_sattelite_l605, /smartphones/android/htc_magic

i understand problem can solved using urls like

  • /page/shipping
  • /catalog/smartphones/android

but customer not want see insertion of "/page" or "/catalog" in url.

please tell me direction solving problem. sorry bad english.

you'll have write "catch-all" rule:

on routes.rb:

get '*my_precioussss' => 'sauron#one_action_to_rule_them_all' 

your precious controller:

class sauroncontroller < applicationcontroller   def one_action_to_rule_them_all     @element = find_by_slug(params[:my_precioussss])     render @element.kind # product, category, etc   end end 

then write 1 view each "kind" of element: product.html.erb, category.html.erb, etc.

make sure write find_by_slug implementation.

you can change one_action_to_rule_them_all pikachu_i_choose_you , sauroncontroller pokemoncontroller, work too.


Comments

Popular posts from this blog

android - Spacing between the stars of a rating bar? -

html - Instapaper-like algorithm -

c# - How to execute a particular part of code asynchronously in a class -