fusebox 5.5 noxml文件夹名称问题

时间:2011-12-02 20:12:30

标签: view coldfusion model cfc fusebox

我遇到了fusebox 5.5 noxml和电路......

我的结构看起来像这样。

controller
 app.cfc
model
 main
  act_comm_main.cfm
 monkey
  act_something_else.cfm
view
 main
  dsp_comm_main.cfm
 monkey
  dsp_somethingElse.cfm

在app.cfc文件中我有这个:     

<cffunction name="postfuseaction">
    <cfargument name="myFusebox" />
    <cfargument name="event" />

    <!--- do the layout --->
    <cfset myFusebox.do( action="layout.lay_template" ) />

</cffunction>

<cffunction name="main">
    <cfargument name="myFusebox" />
    <cfargument name="event" />

    <!--- do model fuse --->
    <cfset myFusebox.do( action="moneky.act_somethingElse" ) />

    <!--- do model fuse --->
    <cfset myFusebox.do( action="main.act_comm_main" ) />

    <!--- do display fuse and set content variable body --->
    <cfset myFusebox.do( action="main.dsp_comm_main", contentvariable="body" ) />

</cffunction>

</cfcomponent>

这不起作用。但如果我将其更改为具有名为:mainPages的视图文件夹,则更改cfset myFusebox。看看mainPages.dsp_comm_main(它出现了)但是在上面的例子中它给了我这个错误:

  

undefined Fuseaction

     

您指定了未定义的dsp_comm_main的Fuseaction   电路主体。

我删除已解析的文件并让fusebox重建但我仍然遇到此错误。

所以我知道如何通过命名模型和视图文件夹之间不同的目录来解决它,但为什么会发生这种情况,我该怎么做才能在模型视图中解析相同的命名目录?

1 个答案:

答案 0 :(得分:1)

这是因为在Fusebox中,模型和视图只是实现MVC的惯例。从技术上讲,它们只是一个明确或隐含的电路,并不重要。

电路名称在应用程序中必须是唯一的,因此您必须以不同方式命名文件夹。

Personaly我已经使用vMain/mMainvMonkey/mMonkey之类的命名来查找具有许多视图电路的更复杂的应用。对于更简单的应用程序,只需layoutdisplay视图电路就足够了,这样就可以在没有前缀的情况下命名模型。