Return to v2.0 docs

resources()


Configuration Routing struct mapper


Create a group of routes that exposes actions for manipulating a collection of resources. A plural resource exposes URL patterns for the entire CRUD lifecycle (index, show, new, create, edit, update, delete), exposing a primary key in the URL for showing, editing, updating, and deleting records. If you need to generate routes for manipulating a singular resource without a primary key, see the resource 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 plural word (e.g., posts).
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., blogPosts generates a path of blog-posts).
controller string No Override name of the controller used by resource. This defaults to the value provided for 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 index, show, new, create, edit, update, and delete.
except string No Excludes RESTful routes to generate, taking priority over the only argument. Can include index, 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.
<cfscript>
mapper()
// With default arguments
.resources("admins")
// Point authors URL to controller at `controllers/Users.cfc`
.resources(name="authors", controller="users")
// Limited list of routes generated by `only` argument.
.resources(name="products", only="index,show,edit,update")
// Limited list of routes generated by `except` argument.
.resources(name="orders", except="delete")
// Nested resources
.resources(name="stories", nested=true)
.resources("heroes")
.resources("villains")
.end()
// Overridden `path`
.resources(name="blogPostsOptions", path="blog-posts/options")
.end();
</cfscript>

Related Functions

Routing