module ActionDispatch::Routing::Mapper::Resources

def match(*args)

def match(*args)
  options = args.extract_options!.dup
  options[:anchor] = true unless options.key?(:anchor)
  if args.length > 1
    args.each { |path| match(path, options.dup) }
    return self
  end
  on = options.delete(:on)
  if VALID_ON_OPTIONS.include?(on)
    args.push(options)
    return send(on){ match(*args) }
  elsif on
    raise ArgumentError, "Unknown scope #{on.inspect} given to :on"
  end
  if @scope[:scope_level] == :resources
    args.push(options)
    return nested { match(*args) }
  elsif @scope[:scope_level] == :resource
    args.push(options)
    return member { match(*args) }
  end
  action = args.first
  path = path_for_action(action, options.delete(:path))
  if action.to_s =~ /^[\w\/]+$/
    options[:action] ||= action unless action.to_s.include?("/")
  else
    action = nil
  end
  if options.key?(:as) && !options[:as]
    options.delete(:as)
  else
    options[:as] = name_for_action(options[:as], action)
  end
  super(path, options)
end