在将此应用程序从外部服务器移动到内部服务器之前,我们正在并行运行此应用程序。它是一个两部分应用程序:公共/不安全部分(目录A)和安全部分(目录B)。它全部都连接在Model-Glue / Coldspring中。
作为用户注册过程的一部分,存在从目录A到B的重定向。然而,这会产生错误:" Model-Glue:没有用于' / 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解决方案,而且看起来像是黑客攻击。也许,我应该指出代码在外部服务器上的生产中工作,但在我们的开发环境中失败。
任何帮助将不胜感激。感谢
答案 0 :(得分:0)
一个旧线程,将来可能会帮助某人。
要记住的事情。
<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>
在<cfset arguments.event.addResult("goToX")>
功能中设置emailRegisterAction
后,该页面将重定向到do.eventToXFile
事件,而x.cfm
事件又会执行ALTER TABLE sample ADD COLUMN `hasItem` tinyint(1) DEFAULT NULL
。