instance method collection

Ruby on Rails edge

Since v3.0.20

Available in: v3.0.20 v3.1.12 v3.2.22.5 v4.0.13 v4.1.16 v4.2.11.3 v5.0.7.2 v5.1.7 v5.2.8.1 v6.0.6.1 v6.1.7.10 v7.0.10 v7.1.6 v7.2.4 v8.0.5.1 v8.1.4 edge

Signature

collection(&block)

To add a route to the collection:

    resources :photos do
      collection do
        get 'search'
      end
    end

This will enable Rails to recognize paths such as `/photos/search` with GET,
and route to the search action of `PhotosController`. It will also create the
`search_photos_url` and `search_photos_path` route helpers.

: [T] () { () -> T } -> T

Parameters

block block
Source
# File actionpack/lib/action_dispatch/routing/mapper.rb, line 1722
        def collection(&block)
          unless resource_scope?
            raise ArgumentError, "can't use collection outside resource(s) scope"
          end

          with_scope_level(:collection) do
            path_scope(parent_resource.collection_scope, &block)
          end
        end

Defined in actionpack/lib/action_dispatch/routing/mapper.rb line 1722 · View on GitHub · Improve this page · Find usages on GitHub

Defined in ActionDispatch::Routing::Mapper::Resources

Type at least 2 characters to search.

Use the arrow keys to navigate results, Enter to open one, Escape to close.

Keyboard shortcuts

/
Focus search
⌘K / Ctrl-K
Command palette
?
This help
Esc
Close