问题标签 [cfwheels]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
1441 浏览

model-view-controller - MVC框架中的静态页面?

你们将静态页面(如“主页”)放在 MVC 框架中的什么位置?你有一个“家”控制器吗?“页面”控制器?您是否为每个静态页面创建操作?

我现在正在使用 CFWheels,我正在尝试找出放置它们的最佳位置。


编辑:显然 CFWheels 不需要您为所有视图创建操作。因此,您可以只创建一个空控制器并像操作一样调用视图,而不必写出空白函数。

0 投票
2 回答
453 浏览

coldfusion - 如何在 cfwheels 中对重定向进行单元测试

对执行重定向的控制器操作进行单元测试的正确方法是什么?

更新:我是 CFWheels 项目的核心开发人员。我问这个问题的全部原因是目前我正在努力增强我们拥有的内置测试框架,我想知道如何在 CFWheels 中处理和实现类似的东西,以使开发人员更容易测试他们的应用程序.

更新:我想出了如何测试这个。看来我们将不得不稍微重写轮子控制器的内部结构,以便在操作完成后并在它被传递回调度程序之后执行重定向。这种方法的唯一问题是,除非您事先采取适当的预防措施,否则将运行 redirectTo() 之后的任何代码;这包括在 redirectTo() 语句之后放置 return 或在您的操作中放置条件检查以将 redirectTo() 代码与其他代码隔离。它还涉及确保执行 redirectTo() 后不会呈现任何其他内容。

0 投票
2 回答
535 浏览

coldfusion - 可以将大型对象(例如 java 组件)存储在 Application 变量中吗?

我现在正在开发一个应用程序,它在应用程序范围内创建并存储与本地 XMPP 服务器的连接。连接方法存储在 cfc 中,确保每次使用 Application.XMPPConnection 时都已连接并获得授权,并利用该连接向用户发送实时事件。据我所知,这工作正常。但它尚未在任何压力下进行测试。

我的问题是:这个设置会在以后引起问题吗?我之所以问,是因为我找不到其他人以这种方式使用应用程序变量的证据。如果我不使用 railo,我会使用 CF 的事件网关来完成相同的任务。

0 投票
5 回答
883 浏览

oop - 如何使用 cfinclude 拆分组件并仍然使用继承?

更新:似乎railo根本没有这个问题。

更新:我投票结束这个问题,因为我觉得人们更多地关注整体“有人有更好的想法拆分大型组件”这个问题的一部分(我不应该提出)然后是真正的问题将 cfincludes 与 cfcomponent 一起使用。

注意:这只是一个简化的例子,说明我正在尝试做些什么来传达这个想法。

我遇到的问题是我想在 cfcomponent 中使用 cfinclude ,以便我可以将类似的方法分组到单独的文件中以提高可管理性。我遇到的问题是当我尝试扩展另一个也使用 cfinclude 来管理它的方法的组件时,如下所示。请注意,ComponentA 扩展了 ComponentB:

问题是,当我尝试初始化 ComponentA 时出现错误:“例程不能被多次声明。例程 a 已在不同的模板中声明了两次。”

这样做的全部原因是因为当您使用 cfinclude 时,它​​是在运行时而不是编译时评估的。

除了将方法移入组件本身并消除使用 cfinclude 之外,我该如何解决这个问题,或者有人有更好的想法来拆分大型组件?

0 投票
6 回答
3311 浏览

java - 如何对两个结构进行“深度比较”或“差异”?

(这是一个冷融合问题)

我有两个不同的结构,它们可能包含也可能不包含相同的数据,我希望能够看看它们是否包含!我的结构将始终包含简单的值(数字、字符串或布尔值),因为它们是使用 DeserializeJSON 创建的,所以希望这可以轻松完成。

我在这里找到了 Ben Nadel 的帖子,但这种技术似乎对我不起作用。到目前为止,这是我尝试过的(那里有一些 cfwheels 代码):

结果如下:

因此,正如您将在上面看到的,尽管 Structs 中的数据看起来完全匹配,但它们没有通过 Equals() 测试。

有没有其他人成功地做到了这一点?

0 投票
1 回答
469 浏览

coldfusion - CFWheels 单元测试?

我在谷歌和国外搜索过,我找不到任何关于 CFWheels 单元测试的信息。有谁知道它是否存在,如果存在,你能指出我正确的方向吗?

谢谢,达伦

0 投票
1 回答
117 浏览

model-view-controller - 这是处理标记的好方法吗?

这段代码可以优化或重构吗?这是标记的最佳方法吗?

以下代码是我的帖子模型中的回调。它创建一条记录,将标签与 QuestionsTags 联接器表中的帖子相关联。必要时,如果给定的标签不存在于 tags 表中,该函数会创建它,然后使用它的 id 在 QuestionsTags 表中创建新记录。

这种方法的困难在于 QuestionsTags 表取决于标签表中可能存在或不存在的数据。

该函数采用以下表格:

这个想法是遍历与帖子一起提交的标签的分隔列表,并检查标签表中是否已经存在每个标签

如果标签存在:

  1. 检查在 QuestionTags 表中是否已有此帖子和此标签的 QuestionTag 记录。
  2. 如果是,什么都不做(关联已经存在)
  3. 如果否,则使用现有标签的 id 和 postId 创建一个新的 QuestionTag 记录

如果标签不存在:

  1. 在标签表中创建新标签
  2. 使用它的 id 创建一个新的 QuestionsTags 记录

代码

仅供参考:我在我的应用程序中使用 CFWheels,它解释了使用的 ORM 函数。

0 投票
2 回答
1741 浏览

coldfusion - 使用请求范围存储对象

我正在使用CFWheels在 ColdFusion 中开发应用程序。

我有一个模型叫Vote.cfc. 在创建、更新或删除 Vote 对象之前,我需要从另一个模型中获取 post 对象:Post.cfc. 投票属于帖子。一个帖子有很多票。

使用来自post对象的数据,我需要to validate the vote跨多个标准和多个功能的对象。我能想到的唯一方法是持久化 post 对象以便这些函数可以使用它,就是将它存储在请求范围内。

其他人说这是不好的做法。但我无法找出原因。我认为请求范围是线程安全的,在这种情况下使用它是有意义的。

我的另一种选择是在每个需要它的函数中加载 post 对象的新实例。尽管 Wheels 使用缓存,但这样做会导致请求时间增加 250%。

更新

这是一些示例。首先,控制器处理查看投票对象是否已经存在。如果是,它会删除它,如果不是,它会创建它。控制器功能本质上是一个切换功能。

Votes.cfc 控制器

模型 VoteLike.cfc

之后,模型中注册的回调会在验证之前触发。它调用一个函数来检索投票所属的 post 对象。函数 getPost() 将帖子存储在请求范围内。它现在可用于模型中的一堆验证函数。

getPost() 函数的替代方法是使用范围调用“ this.post().userId”来获取 post 对象,如下所示:

但是我必须this.post().userId对每个函数重复这个范围调用,这就是我认为减慢请求的原因!

0 投票
3 回答
1405 浏览

coldfusion - 在参数名称中使用连字符

我正在使用 CFWheels 和 jquery mobile 并试图将一些 jquerymobile 设置传递给链接调用(主要是 data-icon 属性。我以前从未对此进行过新操作,但似乎 ColdFusion 不允许在参数名称中使用连字符。我的电话如下:

CFBuilder 和 Railo 在连字符上抛出错误。Railo 错误是:

左侧分配无效 (railo.transformer.bytecode.op.OpDouble)

所以我的问题是:我说参数名称中不允许使用连字符是否正确?另外,如果不允许使用,有没有办法让连字符通过,还是我只需要创建锚标签?

0 投票
1 回答
411 浏览

unit-testing - OOP 框架中的测试驱动开发

我最近开始学习测试驱动开发,即 MXUnit,我喜欢它背后的想法。我可以理解将 TDD 与独立 CFC 一起使用的想法,但是在将它与基于 OOP 的框架(主要是 FW/1 和 CFWheels)一起使用时,我不确定如何将 MXUnit 与框架 CFC(FW/1 中的控制器)一起使用以及 CFWheels 中的模型和控制器)。

有谁知道我在哪里可以找到一些关于将 MXUnit 与框架结合使用的资源?