1

私はfusebox5.5noxmlと回路に問題があります...

こんな構造になっています。

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になるように変更した場合は、cfsetmyFuseboxを変更します。mainPages.dsp_comm_main(表示されます)を確認しますが、上記のインスタンスでは、次のエラーが発生します。

未定義の融合

Circuitmainで定義されていないdsp_comm_mainのFuseactionを指定しました。

解析したファイルを削除してfuseboxを再構築させましたが、それでもこのエラーが発生します。

だから私はモデルフォルダとビューフォルダの間でディレクトリに異なる名前を付けることでそれを回避する方法を知っていますが、なぜこれが起こっているのですか?モデルビュー全体で同じ名前のディレクトリを解決するために何ができますか?

4

1 に答える 1

1

これは、Fuseboxでは、モデルとビューがMVCを実装するための単なる慣例であるためです。技術的には、明示的であれ暗黙的であれ、それらは単なる回路ではありません。

回路名はアプリケーション内で一意である必要があるため、フォルダーに別の名前を付ける必要があります。

個人的には、多くのビュー回路を備えたより複雑なアプリにvMain/mMain、のような名前を使用しました。より単純なアプリの場合は、回路を表示vMonkey/mMonkeyするだけで十分な場合があります。このようにして、モデルにプレフィックスなしで名前を付けることができます。layoutdisplay

于 2011-12-02T23:54:13.923 に答える