1

我在使用 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 (它出现)但在上面的实例中它给了我这个错误:

未定义的熔断器

您指定了 dsp_comm_main 的 Fuseaction,它未在 Circuit main 中定义。

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

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

4

1 回答 1

1

这是因为在 Fusebox 中,模型和视图只是实现 MVC 的约定。从技术上讲,它们只是一个电路,无论是明确的还是隐含的,都没有关系。

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

对于具有许多视图电路的更复杂的应用程序,vMain/mMain我个人使用了类似的命名。vMonkey/mMonkey对于更简单的应用程序,只需查看电路就足够了layoutdisplay这样模型就可以不带前缀命名。

于 2011-12-02T23:54:13.923 回答