0

我已经使用 Turbo Streams 几个月了——一切都很好。

现在我正在尝试broadcast——不好。

从控制台,我可以看到broadcastaUserRequest是成功的:

pry(main)> u.broadcast_append
  UserRequestMessage Load (0.6ms)  SELECT "user_request_messages".* FROM "user_request_messages" WHERE "user_request_messages"."user_request_id" = $1 ORDER BY "user_request_messages"."position" DESC LIMIT $2 /*application:OccamPlatform*/  [["user_request_id", "0084bfb8-014e-4a09-bcb4-f760a3291fd4"], ["LIMIT", 1]]
  Rendered user_requests/_user_request.slim (Duration: 3.4ms | Allocations: 403)
[ActionCable] Broadcasting to Z2lkOi8vb2NjYW0tcGxhdGZvcm0vVXNlclJlcXVlc3QvMDA4NGJmYjgtMDE0ZS00YTA5LWJjYjQtZjc2MGEzMjkxZmQ0: "<turbo-stream action=\"append\" target=\"user_requests\"><template><div class=\"Card\"><a href=\"/user_requests/0084bfb8-014e-4a09-bcb4-f760a3291fd4\"><div class=\"Stuff in Here">Asdsdd</div></a></div></template></turbo-stream>"
=> 0

问题是将广播发送到客户端(浏览器)(我假设=> 0意味着没有找到目标,因为客户端没有显示任何内容)。

我在有turbo_stream_from :user_requests问题的页面上有,并且我尝试过包含turbo_frame_tag :user_requests(不包含时,只包含一个<div id="user_requests"></div>),效果相同:没有任何反应。我可以在控制台中看到 websocket 已连接,并且有一堆成功使用 Turbo Stream(ing) 的表单和控制器。

使用,Slim 我写道:

= turbo_stream_from :user_requests
= turbo_frame_tag :user_requests

这就是 DOM 中显示的内容:

<turbo-cable-stream-source channel="Turbo::StreamsChannel" signed-stream-name="InVzZXJfcmVxdWVzdHMi--d6407940efb20bc5499039ecbb8fe983dbd7cb74777c1480127e76f3dc019278"></turbo-cable-stream-source>
<turbo-frame id="user_requests"></turbo-frame>
4

0 回答 0