在Model-Glue中重定向



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

作为用户注册过程的一部分,从目录a重定向到B。然而,这会产生一个错误:"Model-Glue:没有已知的'/path/to/Directory B/x.c m'的事件处理程序。"

下面是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解决方案,似乎是一个黑客。也许,我应该指出代码在外部服务器的生产环境中工作,但在我们的开发环境中失败。

任何帮助将不胜感激。由于

一个老帖子,也许将来会对某人有所帮助。

要记住的事情。

<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>

一旦在emailRegisterAction函数中设置了<cfset arguments.event.addResult("goToX")>,那么页面将重定向到do.eventToXFile事件,该事件反过来执行x.cfm

相关内容

  • 没有找到相关文章