我刚加入这个社区,这是我的第一篇文章。
我一直在关注几个 Hotwire 教程,并使用该技术构建了一些原型。与 JS 前端框架相比,以更少的复杂性获得类似 SPA 的响应是多么容易,这给我留下了深刻的印象。
然而,我发现当我尝试将代码和流程从我的原型转换到我现有的 Rails 项目时,它根本无法正常工作。更糟糕的是我不知道为什么。
我尝试使用以下一般过程编写一些跟踪代码:
- 包括 Hotwire gem
- 通过终端命令安装 Hotwire
- 包括来自相关模型的广播
- 在视图级别应用 turbo_stream_from 标记作为侦听器
- 在您希望更新模型数据的位置包含一个 turbo_frame_tag
这在我的原型中可靠地工作,但在我现有的项目中不起作用。我怀疑这可能是因为我现有的项目没有使用最新版本的 Rails 或 Ruby?(升级也不是一件容易的事。)我目前使用的是 Ruby 2.7.1 版和 Rails 6.0.2 版。
我知道我应该提供一些我的项目代码,但我什至不知道从哪里开始。如果有人能够为我提供一些指导,我将不胜感激。谢谢!
编辑:如果它有帮助,那么这些是我在尝试让 Hotwire 自动更新索引页面上的模型实例列表时收到的终端消息类型。似乎广播正在工作,但我的听众却没有?