module ActionDispatch::Routing::Mapper::Resources
def name_for_action(as, action)
def name_for_action(as, action) 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 action_name = @scope.action_name(name_prefix, prefix, collection_name, member_name) candidate = action_name.select(&:present?).join("_") unless candidate.empty? # 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.match?(/\A[_a-z]/i) || has_named_route?(candidate) else candidate end end end