instance method
resource
Ruby on Rails 4.0.13
Since v3.0.20Signature
resource(*resources, &block)
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.
Parameters
-
resourcesrest -
blockblock
Source
# File actionpack/lib/action_dispatch/routing/mapper.rb, line 1129
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
Defined in actionpack/lib/action_dispatch/routing/mapper.rb line 1129
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActionDispatch::Routing::Mapper::Resources