8.2. Named Routes

The connect method generates unnamed routes, but ActionController provides the ability to define labels for your routes, known simply as named routes. An initial example of this was shown when you defined the following line in the routes.rb file that you've been playing with so far:

map.root :controller => "articles"

By using root rather than connect, this created a named route root. As you saw before, this route will easily be accessible through the methods generated by appending _url and _path to its name, namely root_url (for example, http://localhost:3000/) and root_path (for example, /).

This method is special, in the sense that it also serves the purpose of informing routing about which controller (for example, articles) and action (for example, by default index) should be invoked whenever the root of the application is requested (that is, /). Remember, the public\index.html file needs to be removed in order for this to work; otherwise the static file will have precedence over the index action you defined.

Named routes are handy because you can use helper methods to refer to them, rather than having to specify the controller, action, default values, and so on every time, to methods like url_for, redirect_to, or link_to. Evidence of the advantages of named routes is admittedly weak when you consider the example of root, which could just as easily be accessed by using /.

The real power behind named routes becomes self-evident upon introducing the notion ...

Get Ruby on Rails® for Microsoft Developers now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.