在 Model-Glue 中重定向
Redirect in Model-Glue
在将此应用程序从外部服务器移至我们的内部服务器之前,我们正在 运行 并行处理该应用程序。它是一个由两部分组成的应用程序:public/unsecured 部分(目录 A)和安全部分(目录 B)。全部连接在 Model-Glue/Coldspring 中。
作为用户注册过程的一部分,存在从目录 A 到 B 的重定向。但是,这会产生错误:"Model-Glue: There is no known event handler for '/path/to/Direcory B/x.cfm'."
这是 ModelGlue 片段:
<event-handler name="do.emailUser">
<broadcasts>
<message name="emailRegisterAction" />
</broadcasts>
<results>
<result do="/path/to/directory B/x.cfm" redirect="true" />
</results>
<views />
</event-handler>
我试过将共享文件复制到目录 A,但这不是 DRY 解决方案,而且看起来像是 hack。也许,我应该指出代码在外部服务器上的生产环境中工作,但在我们的开发环境中失败。
如有任何帮助,我们将不胜感激。谢谢
一个旧线程,可能对以后的人有帮助。
要记住的事情。
<result>
需要三个属性。
name
:应该是你从控制器设置的结果名称。
do
: 当这个name
的结果创建时需要执行的事件。
redirect
: 判断是否重定向到的条件。
所以基于这些条件。理想情况下,您的 <event-handler>
应该看起来像这样。
<event-handler name="do.emailUser">
<broadcasts>
<message name="emailRegisterAction" />
</broadcasts>
<results>
<result name="goToX" do="do.eventToXFile" redirect="true" />
</results>
<views />
</event-handler>
<event-handler name="do.eventToXFile">
<broadcasts>
<message name="yourMessageListner" />
</broadcasts>
<results>
<result do="view.template" />
</results>
<views>
<include name="body" template="/path/to/directory B/x.cfm" />
</views>
</event-handler>
一旦你在emailRegisterAction
函数中设置了<cfset arguments.event.addResult("goToX")>
,那么页面将重定向到do.eventToXFile
事件,然后执行x.cfm
。
在将此应用程序从外部服务器移至我们的内部服务器之前,我们正在 运行 并行处理该应用程序。它是一个由两部分组成的应用程序:public/unsecured 部分(目录 A)和安全部分(目录 B)。全部连接在 Model-Glue/Coldspring 中。
作为用户注册过程的一部分,存在从目录 A 到 B 的重定向。但是,这会产生错误:"Model-Glue: There is no known event handler for '/path/to/Direcory B/x.cfm'."
这是 ModelGlue 片段:
<event-handler name="do.emailUser">
<broadcasts>
<message name="emailRegisterAction" />
</broadcasts>
<results>
<result do="/path/to/directory B/x.cfm" redirect="true" />
</results>
<views />
</event-handler>
我试过将共享文件复制到目录 A,但这不是 DRY 解决方案,而且看起来像是 hack。也许,我应该指出代码在外部服务器上的生产环境中工作,但在我们的开发环境中失败。
如有任何帮助,我们将不胜感激。谢谢
一个旧线程,可能对以后的人有帮助。
要记住的事情。
<result>
需要三个属性。
name
:应该是你从控制器设置的结果名称。do
: 当这个name
的结果创建时需要执行的事件。redirect
: 判断是否重定向到的条件。
所以基于这些条件。理想情况下,您的 <event-handler>
应该看起来像这样。
<event-handler name="do.emailUser">
<broadcasts>
<message name="emailRegisterAction" />
</broadcasts>
<results>
<result name="goToX" do="do.eventToXFile" redirect="true" />
</results>
<views />
</event-handler>
<event-handler name="do.eventToXFile">
<broadcasts>
<message name="yourMessageListner" />
</broadcasts>
<results>
<result do="view.template" />
</results>
<views>
<include name="body" template="/path/to/directory B/x.cfm" />
</views>
</event-handler>
一旦你在emailRegisterAction
函数中设置了<cfset arguments.event.addResult("goToX")>
,那么页面将重定向到do.eventToXFile
事件,然后执行x.cfm
。