CANONICAL_ACTIONS holds all actions that does not need a prefix or a path appended since they fit properly in their scope level.
Resource routing allows you to quickly declare all of the common routes for
a given resourceful controller. Instead of declaring separate routes for
your index
, show
, new
,
edit
, create
, update
and
destroy
actions, a resourceful route declares them in a single
line of code:
1 | resources :photos |
Sometimes, you have a resource that clients always look up without referencing an ID. A common example, /profile always shows the profile of the currently logged in user. In this case, you can use a singular resource to map /profile (rather than /profile/:id) to the show action.
1 | resource :profile |
It's common to have resources that are logically children of other resources:
1 2 3 | resources :magazines do resources :ads end |
You may wish to organize groups of controllers under a namespace. Most
commonly, you might group a number of administrative controllers under an
admin
namespace. You would place these controllers under the
app/controllers/admin
directory, and you can group them
together in your router:
1 2 3 | namespace "admin" do resources :posts , :comments end |
By default the :id
parameter doesn't accept dots. If you
need to use dots as part of the :id
parameter add a constraint
which overrides this restriction, e.g:
1 | resources :articles , id: /[^\/]+/ |
This allows any character other than a slash as part of your
:id
.