Configuration Routing struct mapper
Create a group of routes that exposes actions for manipulating a singular resource. A singular resource exposes URL patterns for the entire CRUD lifecycle of a single entity (show
, new
, create
, edit
, update
, and delete
) without exposing a primary key in the URL. Usually this type of resource represents a singleton entity tied to the session, application, or another resource (perhaps nested within another resource). If you need to generate routes for manipulating a collection of resources with a primary key in the URL, see the resources
mapper method.
Name | Type | Required | Default | Description |
---|---|---|---|---|
name | string | Yes | Camel-case name of resource to reference when build links and form actions. This is typically a singular word (e.g., profile ). |
|
nested | boolean | No | false | Whether or not additional calls will be nested within this resource. |
path | string | No | [runtime expression] | Override URL path representing this resource. Default is a dasherized version of name (e.g., blogPost generates a path of blog-post ). |
controller | string | No | Override name of the controller used by resource. This defaults to a pluralized version of name . |
|
singular | string | No | Override singularize() result in plural resources. | |
plural | string | No | Override pluralize() result in singular resource. | |
only | string | No | Limits the list of RESTful routes to generate. Can include show , new , create , edit , update , and delete . |
|
except | string | No | Excludes RESTful routes to generate, taking priority over the only argument. Can include show , new , create , edit, update , and delete . |
|
shallow | boolean | No | Turn on shallow resources. | |
shallowPath | string | No | Shallow path prefix. | |
shallowName | string | No | Shallow name prefix. | |
constraints | struct | No | Variable patterns to use for matching. | |
mapFormat | boolean | No | [runtime expression] | Whether or not to add an optional .[format] pattern to the end of the generated routes. This is useful for providing formats via URL like json , xml , pdf , etc. |
<cfscript>
mapper()
// With default arguments
.resource("checkout")
// Point auth URL to controller at `controllers/sessions/Auth.cfc`
.resource(name="auth", controller="sessions.auth")
// Limited list of routes generated by `only` argument.
.resource(name="profile", only="show,edit,update")
// Limited list of routes generated by `except` argument.
.resource(name="cart", except="new,create,edit,delete")
// Nested resource
.resource(name="preferences", only="index", nested=true)
.get(name="editPassword", to="passwords##edit")
.patch(name="password", to="passwords##update")
.resources("foods")
.end()
// Overridden `path`
.resource(name="blogPostOptions", path="blog-post/options")
.end();
</cfscript>