根据我对 chwheels 的一点了解,我知道路线存储在应用程序范围内,即准确地说是在 application.wheels.routes 中。它还在 application.wheels.namedroutepositions 中维护路线位置。
现在我在 application.wheels.routes 中添加了路由,即控制器、动作、模式、名称,并且还添加了 namedRoutePositions 结构。如下:
<cfset myRoute.controller = 'pages' >
<cfset myRoute.action = 'about' >
<cfset myRoute.pattern = 'about_my_project' >
<cfset myRoute.name = 'about' >
<cfset structAppend(application.wheels.routes[3],myRoute) />
<cfset structInsert(application.wheels.namedroutepositions,'about','3',true)/>
上面的代码被添加到我在应用程序启动时调用的 settings.cfc 中。如果我在添加上述代码后将 application.wheels.routes 和 application.wheels.namedroutepositions 转储到 settings.cfc 中,它会反映在这些各自的结构中,但是当我尝试访问我刚刚添加的新路线时,它不会工作。此外,当我将 application.wheels.routes 和 application.wheels.namedroutepositions 转储到另一个 cfc 中时,它没有显示新添加的路由,即新添加的路由没有持续存在。如何使新添加的路由在整个应用程序中持续存在?我不确定出了什么问题。是否有任何其他变量/结构我需要更新路线信息?我还需要做些什么来完成这项工作吗?
注意:暂时,我已经手动添加了这条路线。当这个实验成功时,我会让这个代码动态添加路由。
感谢您提前提供的所有帮助。