问题标签 [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.
model-view-controller - CFWheels - 如何有一个表格自我发布?
我是车轮新手,仍在学习。在我看来,表单的每个帖子都需要调用映射到特定模型中的方法的操作。但是,表单是否可以发布到自身?
我要避免的是人们直接导航到动作视图——这似乎会引发错误。我还想做很多自我发布,因为这可能意味着我不必在我的视图文件夹中放置很多空文件。
我正在考虑的另一个优点是,如果表单是自发布的,我将受益于在全球范围内使用它。例如,我可能在我的标题中有一个表单,我希望我的用户在网站的任何地方填写。或者有没有办法检测用户来自哪里并进行动态重定向?
非常感谢,迈克尔。
model-view-controller - CFWheels - 如何验证模型中的表单然后进行查找并输出不同的消息?
在我的“链接”模型中,我进行了一些基本验证,其中之一是检查用户提交的链接是否已经在数据库中。
如果链接已经提交到数据库,我想让他们知道并将他们转发到之前提交的链接(基本上是一个 URL)。
我怎样才能做到这一点?到目前为止,我的模型看起来像这样:
很基础。validatesUniquenessOf() 效果很好,但我想在我的验证逻辑中做更多的事情。如果我在没有框架的情况下这样做......我当然会做一些标准逻辑,但我想按照轮子需要我的方式工作。
再次感谢 CFWHEELS!
model-view-controller - CFWheels - 重定向后如何使用 errorMessagesFor?
在控制器中重定向后有什么方法可以使用 #errorMessagesFor()# 方法吗?
我问的原因是我希望表单保持在同一页面上。
我有一个像这样的网址:
/链接/提交/
使用张贴到的表格:
/链接/链接提交/
但我希望它重新回到 /link/submit/。
我可以做到这一点,并且它有效,但是在我看来 #errorMessagesFor()# 不再有效。
我不想为此使用“flash”消息,因为我希望为表单上的字段显示特定的错误消息。有没有办法将验证错误传递给 Flash 消息?
谢谢,迈克尔。
model-view-controller - CFWheels - 过滤器“除外”的问题。冲突的操作名称
我有一个过滤器设置,它运行一个检查用户会话是否存在于某些操作的函数,就像这样;
问题是,这些是动作名称......与我拥有的其他控制器冲突。
例如,我有 2 个控制器“用户”和“链接”。其中每一个都有一个名为 create 的操作,因此我的 URL 如下所示:
/用户/创建/ /链接/创建/
过滤器如何知道与哪个控制器关联?有没有办法在“except”子句中为某些“动作”加上控制器名称的前缀?
例如,也许是这样的:
我记得尝试过这个,但它没有用而且很糟糕。
希望你明白我在这里说什么。我不想为单独的控制器中的每个操作命名完全唯一的名称。
谢谢,迈克尔。
coldfusion - cfwheels - 使用复合键表更新嵌套属性
我正在尝试获得更好的设置来更新具有嵌套属性的模型。
现在在我的编辑视图中,我手动定义 textFieldTag 以通过将名称设置为来创建 params 结构"myModel[myNestedProperty][#modelID#,#key2id#][name]"
在更新行动中...
如果我只是使用myModel.update(params.myModel)
,如果有任何需要删除的元素,我将无法使更新工作
所以我销毁了与 myModel 具有相同 id 的嵌套属性的所有模型,在这种情况下它可以工作。
缺点是如果更新失败,嵌套的属性就全部消失了。
在删除它们并对其进行 ing 之前,我尝试先获取所有模型.save
,但由于某种原因,这不起作用。
看起来 cfwheel 是为这种与复选框的关系设置的,但我需要它来处理文本字段并在我的表单中选择项目。
更新
我意识到我还有另一个问题。本质上,我想对此进行扩展,以便能够在多个嵌套属性和关系中使用它。
问题在于我设置名称的方式,特别是对于选择下拉菜单:
name="myModel[myNestedProperty][#modelID#, ][nestedID]"
问题是无法声明第二个 id,因为它将被分配为 id 而不是使用我选择的值。
老实说,这是我一直在努力解决的一个问题。我通过在控制器中重新生成模型来处理它,我只是忘记了我还没有解决这个问题。
有没有办法让这些值根本不被使用,并让它们从结构中动态填充?
假设我有(截断)一个名称tcat[34,0][catID]
或tcat[34,][catID]
,(其中 catID 应该是第二个 ID)。
生成的参数的 tcat 结构是
或者
我希望参数的 tcat 结构具有多个结构,例如:
有没有解决的办法?
我正在使用许多复合键嵌套属性,如果我可以让这部分单独工作,它会更容易。我知道一种方法是使用 javascript 更新名称,但我认为这将是(非常非常)最后的手段。
coldfusion - 如何重命名 CFWHEELS 中的主键字段?
这是我尝试过的......但由于某种原因,“model("user").primaryKey() 仍然返回旧的“User_Id”列......
更新
问题在于“脚手架”插件。它使用“COLUMNLIST”而不是“PROPERTYLIST”
我已经修复了它,它现在似乎可以正常生成。
model-view-controller - 如何在 MVC(CFWheels)中跨 2 个控制器/模型处理 1 个表单?
我是一名老 CFML 开发人员,对 CF on Wheels 和 MVC 编程很陌生。我很快就学会了,但对我来说并不明显的一件事是如何提供一个表单来选择性地更新多个数据库表记录(模型)。我特别想为用户信息和用户个人资料信息设置一个选项卡式表单,前者是必需的,后者不是。此数据存储在两个不同的一对一表中。为了调用两个“新”或“编辑”视图,运行 2 个“创建”或“更新”过程,影响两个不同的表,我需要什么设置。或者我认为这一切都错了。
更新:添加更多关于我正在尝试做的事情的信息。为简单起见,我将坚持使用 2 个选项卡和 2 个表格,尽管在这种情况下我真的至少要查看 3 个。
所以我有一个 Users 表和一个 UserProfiles 表,我有一个名为 User.cfc 和 UserProfile.cfc 的模型,它们是一对一相关的,而 UserProfile 依赖于用户。很标准的东西。对于每个我都有控制器:Users.cfc 和 UserProfiles.cfc,每个都包含操作。添加、编辑、创建、更新、做显而易见的事情(添加和编辑显示表单)。我有部分显示每个的添加/编辑表单字段,所以已经准备好了。现在,我想创建一个有效的添加/编辑表单,可以同时更新两个表。标签并不重要。实际上它可能都在一页上。
所以从概念上讲,我正在做类似的事情:
我是否需要创建一个单独的控制器操作,该操作基本上结合了两个不同控制器的创建和更新操作?
提前感谢一位高兴和热切的 CFWheels 新手...
布赖恩
mysql - 插入mysql数据库时出错
我正在使用 cfwheels(coldfusion orm 框架)。
我最近将一些数据从以前的主机移到了新主机。现在我正在尝试插入表中,但收到一条错误消息:“执行数据库查询时出错。键 'PRIMARY' 的重复条目 '13651'”
我查看了数据库,似乎已经存在 id 为 13651 的记录。所以我认为问题在于mysql生成正确的自动增量值。
coldfusion - cfwheels - 删除具有多级嵌套属性的记录
我有一个具有嵌套属性的模型,该模型具有更多嵌套属性。
假设house
hasManypets
有很多legs
当只有一个级别时,它很容易工作,但是有两个级别时,我在删除 时遇到错误pets
,因为 thepetsID
是腿表中的外键,而 cfwheels 不会先删除它。我知道我可以自己使用额外的命令进行删除,但我想知道是否有我错过的设置允许这种删除
coldfusion - 在 Railo 中获取结构键的问题
使用 Railo 和 cfWheels 构建应用程序。
我创建了一个带有多组单选按钮的表单。每个组具有相同的名称,并且名称是一个数组引用,例如(响应 [1])。有23组。
每次我提交表单并使用 StructKeyList 或 StructKeyArray 获取响应数组键并最终找到返回的键数时,我得到 21。
我做了一个键的转储,只是为了找出 2 组的结果总是组合在一起。
我用 Adobe ColdFusion 尝试了相同的代码,它工作正常。我得到 23 个具有不同值的响应。