0

表单包含销毁按钮

<%= button_to 'bomb', message, method: :delete, form: { data: { turbo_confirm: 'R U sure?' } } %>

控制器以预期的方式响应

    respond_to do |format|
      format.turbo_stream

[logging: ]

[ActionCable] Broadcasting to Z2lkOi8vc2V2ZW4vUm9vbS8x: "<turbo-stream action=\"remove\" target=\"message_12\"></turbo-stream>"

但是,在控制台中:

> Message.last.destroy

  Message Destroy (0.4ms)  DELETE FROM "messages" WHERE "messages"."id" = $1  [["id", 15]]
  TRANSACTION (6.0ms)  COMMIT
  Room Load (0.6ms)  SELECT "rooms".* FROM "rooms" WHERE "rooms"."id" = $1 LIMIT $2  [["id", 1], ["LIMIT", 1]]
[ActionCable] Broadcasting to Z2lkOi8vc2V2ZW4vUm9vbS8x: "<turbo-stream action=\"remove\" target=\"message_15\"></turbo-stream>"

=>
#<Message:0x000000010fcc9da8
 id: 15,
 room_id: 1,
 content: "and this?",
 created_at: [...]
 updated_at: [...]

不会影响浏览器,实际上日志中没有注册任何内容。刷新浏览器确实会根据数据库对象重置一些东西。

这是运行 rails 7.0.1 和 ruby​​ 3.1.0。

产生这种意想不到的行为的错误是什么?

4

0 回答 0