# File lib/action_controller/routing_optimisation.rb, line 58
        def guard_condition
          number_of_arguments = route.segment_keys.size
          # if they're using foo_url(:id=>2) it's one 
          # argument, but we don't want to generate /foos/id2
          if number_of_arguments == 1
            "defined?(request) && request && args.size == 1 && !args.first.is_a?(Hash)"
          else
            "defined?(request) && request && args.size == #{number_of_arguments}"
          end
        end