If you really like routing (you’d find that really funny if you’re Australian) and want to enforce their use in all linkTo(), urlFor() and startFormTag() function calls.. Do as I do..
Put the function below into your /controllers/Controller.cfc
<!--- /controllers/Controller.cfc ---> <cffunction name="urlFor" access="public" output="false" hint="ensure routes are used for all urls"> <cfif ! StructKeyExists(arguments, "noroute") && ! ( (StructKeyExists(url, "controller") && url.controller == "wheels") || StructKeyExists(arguments, "url") )> <cfif ! (StructKeyExists(arguments, "route") && Len(arguments.route) gt 0)> <cfthrow message="Please use a route rather than an action.. Thanks!"> </cfif> </cfif> <cfreturn core.urlFor(argumentCollection=arguments)> </cffunction> </code>
This overrides, the core urlFor() method, checking for the existence of a route argument.. UNLESS, the controller is “wheels” which probably means you’re using the test framework or managing a plugin. There is also a way to bypass the route nazi.. by using the noroute=true arguments.
Happy routing.. Teehee!