3

有谁知道是否可以在冷融合模板中调用融合动作?

4

2 回答 2

3

(您尚未指定哪个 Fusebox 版本;此答案适用于 Fusebox 5.x)

您的标题和问题是在问两个不同的事情-保险丝和保险丝动作是两个不同的事情。fuse 只是一个 CFML 模板,而 fuseaction 表示执行特定操作(类似于函数)的一组逻辑。

保险丝:

要调用熔断器,只需像往常一样包含该文件 - 这不需要特殊的 FB 功能。

熔断器:

要调用 fuseaction,请使用do动词,如下所示:

<cfset myFusebox.do('circuit.fuseaction') />


要存储结果,请使用 content 变量的第二个参数:

<cfset myFusebox.do('circuit.fuseaction',varname) />

这是这个 XML 的等价物:

<do action="circuit.fuseaction" contentvariable="varname" />


还有其他可用的参数,请参阅此 Fusebox 备忘单,其中还包含许多其他有用的信息。

于 2012-12-22T15:53:45.013 回答
0

使用 MVC,您应该通过单个入口点工作。因此,在您的请求期间应该只调用一个 fuseaction。

但是 fuseaction 可以根据需要调用其他一些模型和视图模板。而且我相信 Fusebox 允许您将该逻辑重构为可以被多个操作使用的东西。(虽然我对我的 Fusebox 功能有点生疏,但我敢打赌一些谷歌搜索会引导你。)

作为一个可怕的最后手段,您可以使用<cfhttp>在您的应用程序中调用一个 URL 来调用该 fuseaction。但是,为什么不直接运行一些代码,而不需要通过另一个 HTTP 调用给您的服务器带来负担呢?

于 2012-12-22T15:34:14.973 回答