method
name_for_action
v4.2.7 -
Show latest stable
- Class:
ActionDispatch::Routing::Mapper::Scoping::Resources
name_for_action(as, action)protected
No documentation available.
# File actionpack/lib/action_dispatch/routing/mapper.rb, line 1748
def name_for_action(as, action) #:nodoc:
prefix = prefix_name_for_action(as, action)
name_prefix = @scope[:as]
if parent_resource
return nil unless as || action
collection_name = parent_resource.collection_name
member_name = parent_resource.member_name
end
name = @scope.action_name(name_prefix, prefix, collection_name, member_name)
if candidate = name.compact.join("_").presence
# If a name was not explicitly given, we check if it is valid
# and return nil in case it isn't. Otherwise, we pass the invalid name
# forward so the underlying router engine treats it and raises an exception.
if as.nil?
candidate unless candidate !~ /\A[_a-z]/ || @set.named_routes.key?(candidate)
else
candidate
end
end
end