Skip to content

Configuration

resources()

resources() — returns struct

Available in: mapper Category: Routing

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.

NameTypeRequiredDefaultDescription
namestringyesCamel-case name of resource to reference when build links and form actions. This is typically a plural word (e.g., posts).
nestedbooleannofalseWhether or not additional calls will be nested within this resource.
pathstringno[runtime expression]Override URL path representing this resource. Default is a dasherized version of name (e.g., blogPosts generates a path of blog-posts).
controllerstringnoOverride name of the controller used by resource. This defaults to the value provided for name.
singularstringnoOverride singularize() result in plural resources.
pluralstringnoOverride pluralize() result in singular resource.
onlystringnoLimits the list of RESTful routes to generate. Can include index, show, new, create, edit, update, and delete.
exceptstringnoExcludes RESTful routes to generate, taking priority over the only argument. Can include index, show, new, create, edit, update, and delete.
shallowbooleannoTurn on shallow resources.
shallowPathstringnoShallow path prefix.
shallowNamestringnoShallow name prefix.
constraintsstructnoVariable patterns to use for matching.
mapFormatbooleanno[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
    .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>