module ActionDispatch::Routing::PolymorphicRoutes

def build_named_route_call(records, inflection, options = {})

def build_named_route_call(records, inflection, options = {})
  if records.is_a?(Array)
    record = records.pop
    route = records.map do |parent|
      if parent.is_a?(Symbol) || parent.is_a?(String)
        parent
      else
        model_name_from_record_or_class(parent).singular_route_key
      end
    end
  else
    record = extract_record(records)
    route  = []
  end
  if record.is_a?(Symbol) || record.is_a?(String)
    route << record
  elsif record
    if inflection == :singular
      route << model_name_from_record_or_class(record).singular_route_key
    else
      route << model_name_from_record_or_class(record).route_key
    end
  else
    raise ArgumentError, "Nil location provided. Can't build URI."
  end
  route << routing_type(options)
  action_prefix(options) + route.join("_")
end