0

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

问题

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

这是模型

class SavedObject < ApplicationRecord
    serialize :value
end

这些是列。

      t.string :name
      t.text :value

记录示例

#<SavedObject:0x000055a2f6f34fa0
id: 144,
name: "Device 2 Temperature",
value: [{last_value: "52", equip_id: 2}]
4

1 回答 1

0

所以这将使用 hotwire-rails gem,它使用 action cable 与 Hotwire 集成。仅供参考,这不是 hotwire 的一部分,它直接将其与 websockets 集成,这就是为什么缺少可视化文档的原因,这一切都在代码中。好吧,现在已经不碍事了……

绝对有可能做到这一点,它只是改变 ruby​​ 中的逻辑,你可以添加一个回调方法,在那里你可以检查它是什么类型的对象并呈现正确的部分。为简单起见,我将为所有这些流使用相同的流名称,并根据对象向该流广播不同的部分。

于 2021-11-11T12:30:27.057 回答