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

Posted July 20th, 2009 at 7:00 pm in Ruby on Rails | Permalink

One comment:

  1. Josh P:

    Nice tip. Huge time saver and allows for more descriptive models on the backend whilst keeping a simpleton interface. Cheers.

Leave a response: