Fusebox 5.5 NOXML Ordner Name Probleme
-
27-10-2019 - |
Frage
Ich habe Probleme mit Fusebox 5.5 NOXML und Schaltungen ...
Ich habe eine Struktur, die so aussieht.
controller
app.cfc
model
main
act_comm_main.cfm
monkey
act_something_else.cfm
view
main
dsp_comm_main.cfm
monkey
dsp_somethingElse.cfm
In der App.cfc -Datei habe ich Folgendes:
<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>
Das funktioniert nicht. Aber wenn ich es ändere, um den Ansichtsordner mit dem Namen: MainPages so zu haben, und dann die CFSET -MyFuseBox ändern. Tun Sie Mainpages an.
undefinierte Fuseaction
Sie haben eine Fusection von DSP_Comm_main angegeben, die in Circuit Main nicht definiert ist.
Ich entferne die analysierten Dateien und lasse Fusebox wieder aufgebaut, aber ich erhalte diesen Fehler trotzdem.
Ich weiß also, wie man es umgeht, indem ich meine Verzeichnisse zwischen den Ordnern Modell und Ansicht unterscheidet, aber warum passiert das und was kann ich tun, um die gleichen benannten Verzeichnisse in der Modellansicht zu lösen?
Lösung
Dies liegt daran, dass in Sicherungskastenmodellen und Ansichten nur eine Konvention zur Implementierung von MVC sind. Technisch gesehen spielt sie nur eine Schaltkreise, die explizit oder implizit ist, egal.
Der Schaltungsname muss innerhalb der Anwendung eindeutig sein, sodass Sie die Ordner unterschiedlich benennen müssen.
Persönlich habe ich benannt vMain/mMain
, vMonkey/mMonkey
Für komplexere Apps mit vielen Ansichtsschaltungen. Für einfachere Apps könnte es ausreichen, nur zu haben layout
und display
Schaltkreise anzeigen, so können Modelle ohne Präfix benannt werden.