0

在将它从外部服务器移动到我们的内部服务器之前,我们正在并行运行这个应用程序。它是一个由两部分组成的应用程序:公共/非安全部分(目录 A)和安全部分(目录 B)。这一切都在 Model-Glue/Coldspring 中连接起来。

作为用户注册过程的一部分,有一个从目录 A 到 B 的重定向。但是,这会产生错误:“模型胶水:'/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。也许,我应该指出,代码在外部服务器上的生产环境中工作,但在我们的开发环境中失败。

任何帮助将不胜感激。谢谢

4

1 回答 1

0

一个旧线程,可能会在将来对某人有所帮助。

要记住的事情。

<result>期望三个属性。

  1. name:应该是您从控制器设置的结果名称。
  2. do: 创建结果时需要执行的事件name
  3. 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

于 2016-02-16T05:33:24.853 回答