Beginning Rails 4 by Adam Gamble & Cloves Carneiro Jr. & Rida Al Barazi

Beginning Rails 4 by Adam Gamble & Cloves Carneiro Jr. & Rida Al Barazi

Author:Adam Gamble & Cloves Carneiro Jr. & Rida Al Barazi [Gamble, Adam & Carneiro, Cloves Jr. & Barazi, Rida Al]
Language: eng
Format: epub
Tags: Computers, Web, Web Programming, Programming Languages, Ruby
ISBN: 9781430260349
Publisher: Apress
Published: 2013-09-11T04:00:00+00:00


Named Routes

One of the coolest things about routing in Rails is a feature known as named routes. You can assign a name to a given route to make referring to it in code easier. You still define the route the same way as a regular route, but you need a new hash pair, where the key is :as and the value is the name of the route.

For example, let’s take the search route defined in the previous section and turn it into a named route:

get '/teams/search/:query' => 'teams#search', :as => 'search'

With this definition in place, Rails creates helper methods that allow you to reference this particular route using its name: search_url and search_path. The *_url variant returns a full URL including the protocol and hostname (http://example.com/teams/search), whereas the *_path variant returns just the path (/teams/search).

Later in this chapter, we’ll cover redirection methods and hyperlink-generation helpers. For now, note that you can use them with named routes:

link_to "Search", search_path

outputs

<a href="/teams/search">Search</a>

Named routes are shorter, DRYer, and impervious to changes made at the routing level. So if you change the controller name from teams to cities, you don’t need to update links that use the named route; for the unnamed version, you do.



Download



Copyright Disclaimer:
This site does not store any files on its server. We only index and link to content provided by other sites. Please contact the content providers to delete copyright contents if any and email us, we'll remove relevant links or contents immediately.