问题标签 [turbo]

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 投票
1 回答
107 浏览

turbolinks - 涡轮驱动适用于表单但不适用于链接

我正在尝试不带导轨的涡轮驱动器。

它似乎适用于表单但不适用于链接..即使表单设置为GET.

为了尽量减少它,我使用了 bash 和 cgi,但是我在使用另一个 Web 框架时看到了同样的东西。

然后当我去http://localhost:8000我得到这个:

带有链接和提交按钮的示例网页

链接和提交按钮都加载链接中显示的随机数,并准备一个新的随机数进行加载。

显示来自表单或链接的查询字符串的网页

不同之处在于链接会重新加载整个页面,就好像不包括涡轮增压器一样,并且会获取表单。

网络选项卡显示来自链接的完整页面加载和来自表单的 ajax

我该怎么做才能使它也成为 ajax 链接?我是否忽略了链接中需要的属性或其他内容?

0 投票
1 回答
1010 浏览

ruby-on-rails - Hotwire Turbo 不替换涡轮框架,抛出警告:响应没有匹配元素

我开始在 Rails 6 中使用 Hotwire 和 Turbo,并且遇到了 Turbo 无法替换我的涡轮框架的问题。我收到以下错误消息:Response has no matching <turbo-frame id="experiments"> element

我通过控制器操作在页面上呈现以下内容:

这会正确地将请求发送到/labs/experiments,并且当我检查我的网络请求时,会从我的控制器返回以下内容:

但是,响应并未在我的涡轮框架内呈现,而是我收到控制台日志警告:Response has no matching <turbo-frame id="experiments"> element

任何帮助表示赞赏:)

0 投票
1 回答
152 浏览

ruby-on-rails - 仅当创建或更新具有特定名称值的记录以及特定部分时,如何在 Rails 6(热线)中发送 broadcasts_to?

我有一个带有三个数字整数指标的 Rails 6 View:速度、温度和压力。这些值作为序列化对象存储在 SavedObject 模型中。并在控制器中使用它们各自的实例变量传递给视图。@速度 @温度 @压力

问题

如何为每个序列化对象更新发送单独的广播(使用涡轮热线),以“名称”列(如“设备 2 温度”)为条件,以便每个广播达到自己的部分?(同一视图中有三个不同的局部)

这是模型

这些是列。

记录示例

0 投票
1 回答
110 浏览

pascal - 如何解决 Turbo pascal 中的错误:行太长

我有这行代码

但是 Turbo Pascal 给出错误“行长”

所以我试着这样做

但是turbo Pascal给出了错误89:“)”预期。

我在谷歌上搜索了这个,但我一无所获。

那么,如何在 turbo pascal 中解决此代码?

此完整视图代码:

感谢...

0 投票
1 回答
90 浏览

c - 如果数字长于 5 位,则确定数字是奇数还是偶数的程序会显示错误的输出

如果我输入的数字超过 5 位,则会显示错误的数字。例如:

我的老师希望我们使用 Turbo C++,但它有时会在我运行程序后冻结,所以我使用了 OnlineGDB(https://www.onlinegdb.com)(语言:C(TurboC))。这是我的代码:

0 投票
1 回答
64 浏览

ruby-on-rails - Hotwire 模态表单无法正确渲染 Flatpickr

我有一个模态表单,可以很好地通过热线创建新的详细信息记录。这些字段中有 flatpickr 日期字段和两个 flatpickr 时间字段。如果我有验证错误,表单会在模式内显示错误,但 flatpickr 输入会重置为没有 flatpickr 作为文本字段。当显示验证错误时,如何确保它再次呈现 flatpickr 字段?

控制器创建:

create.turbo_stream.erb

形式:

0 投票
0 回答
69 浏览

ruby-on-rails - Rails + Hotwire:Turbo 不会在更改子域的链接上触发

根据文档:

默认情况下,Turbo Drive 仅加载与当前文档具有相同来源(即相同协议、域名和端口)的 URL。对任何其他 URL 的访问会退回到整个页面加载。

但是我想让 Turbo 在子域之间(在同一个基域内)工作。有没有办法做到这一点?

0 投票
2 回答
358 浏览

ruby-on-rails - GET 请求在 turbo_frame_tag 中处理为 HTML 而不是 TURBO_STREAM

我开始使用 hotwire/turbo 并设置了一切。Turbo 流工作正常。

在 index.html.erb 中:

在 _task.html.erb 内

当按预期按下销毁按钮时,rails 控制台说:

但是当按下编辑按钮时,rails 控制台会说:

这意味着页面会加载一个新页面,呈现 edit.html.erb 而不仅仅是更新 turbo_frame_tag 中的内容。

检查 DOM 时,edit 和 destroy 链接都在一个 turbo-frame 内:

所以我的问题是,为什么请求被处理为 HTML 而不是 TURBO_STREAM ?

edit.html.erb 看起来像这样:

非常感谢!

0 投票
0 回答
64 浏览

ruby-on-rails - 使用带有rails / hotwire / turbo的刺激js在单击事件后更新dom后获取值

我正在使用带有 rails 的stimulus.js。这是一个简单的任务应用程序。每个待办事项都有一个时间估计,我试图在创建、更新或删除任务时更新使用刺激的总和。

在此处输入图像描述

待办事项列表的索引页面(如图所示)在顶部有一个内联表单,用于创建新项目。它还具有用于编辑现有项目的内联表单。

在表格上,我有以下内容:

每个待办事项的值都保存在这里:

然后我使用 js 来查找所有这些元素,document.getElementsByClassName("estimate-value")并最终对这些值求和。

问题是,在按下提交按钮时,<span class="estimate-value">它不在 dom 中 - 一旦呈现新的待办事项或现有的待办事项已被编辑,它会在几毫秒后加载。

我正在使用 turbo_frames 和 turbo_streams,因此 dom 更改无需重新加载页面即可发生。

有没有办法让点击事件等待dom改变或者有更好的方法来做到这一点?

我还需要处理删除任务的情况。

非常感谢!

0 投票
0 回答
94 浏览

ruby-on-rails - 为什么 format.turbo_stream 导致页面跳转到顶部?

我有一张表,它构成了一个非常复杂的时间表。每个 tr 都有一个唯一的 dom id。在呈现日程表时,日程表的时间跨度的持续时间决定了 colspan 属性。例如,一个 9 天的计划跨度将跨越 9 个 tds 并且看起来像一个部分。信息量太大了,真的。

每个 colspan td 都有一个简单的下拉菜单,提供一些快捷方式,例如编辑和删除。整个表被包裹在一个 turbo_frame_tag 中,所以所有的链接(没有 turbo_frame: '_top')都会响应 turbo_stream 格式。删除链接是一个 button_to....来触发销毁操作中的 turbo_stream 响应。

这一切的功能实际上是完美的。如果用户单击给定计划块的下拉列表,单击删除链接... :destroy 操作被命中,记录被销毁,并且该操作响应 turbo_stream...替换整个表行。

问题是......由于某种原因,内容没有在我眼前更新。相反,页面跳回到顶部(没有页面刷新),如果我向下滚动到我所在的位置......内容已通过 TURBO 更新。我记得在老派 JS 中遇到过这样的问题,但为什么 turbo_stream 也会这样做呢?而且,我能做些什么来阻止它吗?

在这样的表中使用 div 不会违反任何标准,但我不禁认为将其转换为由标签等构建的 sudo 表可能会更好。我想知道这样做是否也有帮助上述问题。我不确定为什么会这样,但有时操纵表格似乎会做一些奇怪的事情。

谢谢!