Quick Tip: Override Rails Generated URLs
By default Ruby on Rails resources use the controller name for the URL. For example:
map.resources :time_entries
would yield the following URLs
What if you want them to be something else entirely? I guess you could rename your controller, update your routes.rb file and everywhere you use a URL helper… or, just use the “as” modifier!
map.resources :time_entries, :as => :time
now yields the following URLs
All of your existing uses of the URL helpers can remain the same and it will generate all URLs correctly. Quick, simple and painless!
References
More of my rantings
- Quick Tip: Rails Singularization of -ess
- Quick Tip: Rails Named Bind Variables
- Quick Tip: Route Associations
These might also interest you
- Outsourcing Killed By Django And Ruby On Rails (Aware Labs)
- Outlook Tip (Brainfuel)
- Be Quick to Share Bad News (Chris Gratigny's Blog)