我刚加入这个社区,这是我的第一篇文章。
我已经跟踪了几个Hotwire教程,并使用该技术构建了一些原型。与JS前端框架相比,获得类似SPA的响应的复杂性要低得多,这给我留下了深刻印象。
然而,我发现,当我试图将代码和过程从我的原型转换到我现有的Rails项目时,它根本无法工作。更糟的是我不知道为什么。
我尝试用以下一般过程编写一些跟踪程序代码:
这在我的原型中是可靠的,但在我现有的项目中不起作用。我怀疑这可能是因为我现有的项目没有使用最新版本的Rails或Ruby?(升级也不容易。)我目前正在使用RubyVersion2.7.1和Rails版本6.0.2。
我知道我应该提供一些我的项目代码,但我甚至不知道从哪里开始。如果有人能给我一些指导的话,我会非常感激的。谢谢!
编辑:如果有帮助的话,这些都是我在尝试让Hotwire自动修改索引页面上的模型实例列表时得到的终端消息类型。好像广播起作用了,但我的听众不行吗?
发布于 2021-05-18 06:47:38
想到的一件事是,在流响应中有一个<turbo-frame-tag>,为什么呢?我不确定这是否是造成这种情况的原因,但是看看他们的示例,流模板不应该包含框架标记,应该是这样的:
<turbo-stream action="append" target="dom_id">
<template>
Content to append to container designated with the dom_id.
</template>
</turbo-stream>您确定页面上有带有id=“故事”的div吗?这就是流要追加的元素;如果找不到,什么也不会发生。
发布于 2021-05-23 06:37:32
我想绕回这篇文章,报告我没有找到解决办法。这是尽管花费了超过一个星期的全职时间试图调试这个问题。
最后,用最新版本的Ruby、Rails和所有的宝石启动一个新的回购更快、更容易。我继续简单地复制和粘贴尽可能多的代码到新的回购。除此之外,我用我的终端命令来追溯我的步骤,基本上创建了一个原始应用程序的克隆。
瞧,它起作用了。
新的应用程序使用RubyVersion3.0.1和Rails版本6.1.3.2。应用程序的旧迭代(不起作用的程序)运行在RubyVersion2.7.1和Rails版本6.0.2.2上。
感谢在这件事上伸出援手帮助我的每一个人。
https://stackoverflow.com/questions/67579310
复制相似问题