vendor/bundle/gems/actionpack-4.0.0/lib/action_dispatch/routing/mapper.rb
# 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:
#
#   resource :geocoder
#
# creates six different routes in your application, all mapping to
# the +GeoCoders+ controller (note that the controller is named after
# the plural):
#
#   GET       /geocoder/new
#   POST      /geocoder
#   GET       /geocoder
#   GET       /geocoder/edit
#   PATCH/PUT /geocoder
#   DELETE    /geocoder
#
# === Options
# Takes same options as +resources+.
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.

resource :geocoder

creates six different routes in your application, all mapping to
the +GeoCoders+ controller (note that the controller is named after
the plural).



Options
Takes same options as +resources+.
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 . resource : geocoder creates six different routes in your application all mapping to the + GeoCoders + controller ( note that the controller is named after the plural ) . Options Takes same options as + resources + .
def resource(*resources, &block)
          options = resources.extract_options!.dup
          if apply_common_behavior_for(:resource, resources, options, &block)
            return self
          end
          resource_scope(:resource, SingletonResource.new(resources.pop, options)) do
            yield if block_given?
            concerns(options[:concerns]) if options[:concerns]
            collection do
              post :create
            end if parent_resource.actions.include?(:create)
            new do
              get :new
            end if parent_resource.actions.include?(:new)
            set_member_mappings_for_resource
          end
          self
        end
def resource ( * resources , & block ) options = resources . extract_options! . dup if apply_common_behavior_for ( :resource , resources , options , & block ) return self end resource_scope ( :resource , SingletonResource . new ( resources . pop , options ) ) do yield if block_given? concerns ( options [ :concerns ] ) if options [ :concerns ] collection do post :create end if parent_resource . actions . include? ( :create ) new do get :new end if parent_resource . actions . include? ( :new ) set_member_mappings_for_resource end self end
Sometimes, you have a resource that clients always look up without
referencing an ID.
Sometimes you have a resource that clients always look up without referencing an ID .
resources
<not_specific>
block
<not_specific>