我收到错误“transaction_types”未定义,并且无法理解原因。
我有application.cfc:
<cffunction name="onRequest" >
<cfargument name="targetPage" type="String" required=true/>
<cfinclude template="header.cfm">
</cffunction>
header.cfm 文件看起来像这样(每个文件都会调用 header,并且根据用户所在的目录有不同的子标题):
<cfinclude template="#GetDirectoryFromPath(Arguments.targetPage)#subheader.cfm" />
我遇到问题的目录有两个文件,index.cfm 和 subheader.cfm
subheader.cfm,第一行
<cfset transaction_types = ["a", "b", "c"] />
index.cfm 的一部分,我认为问题可能是 cflocation,但我不确定:
<cfif structKeyExists(url, "something") >
-- some database work is done here --
<cflocation url="index.cfm">
</cfif>
--further down on this page, transaction_types is used
我设置页面时认为 transaction_types 将在目录/index.cfm 加载的任何时候定义,因为应用程序文件总是加载 header.cfm 并随后在目录/index.cfm 之前加载目录/subheader.cfm。cflocation 会绕过这个吗?