如何清除 turbo 流视图中的文本字段

How to clear a text field in a turbo stream view

提问人:Sig 提问时间:9/26/2023 最后编辑:Sig 更新时间:10/7/2023 访问量:90

问:

我有一个文本字段

<%= form.text_field :my_field, class: "...", readonly: true, placeholder: "let's type" %>

当我单击一个元素时,我希望删除任何值。为此,我有一个控制器,如下所示:Stimulus

import { Controller } from "@hotwired/stimulus"
import { get } from "@rails/request.js"

export default class extends Controller {
 ...

  click(event) {
    get("/my/reset", {
      responseKind: "turbo-stream"
    })
  }
}

控制器看起来像My

class MyController < ApplicationController
  def reset
    respond_to do |format|
      format.turbo_stream
    end
  end
end

而且,在涡轮流操作中(根据 Alex 的建议),我正在尝试用新字段替换该字段

<%= turbo_stream.replace "my_field" { ... }  %>

但是我很难弄清楚如何在我的 .turbo_stream.erb 视图中访问表单对象。

我该怎么做?

Ruby-on-Rails 涡轮增压

评论

0赞 Les Nightingill 9/26/2023
这些是必要的,但还不够......你是如何渲染这些的。请求和响应的标头是什么,确切地说是从控制器发送的内容。根据我的经验,Rails turbo 在你让它工作时是强大的,但很脆弱,如果请求/响应链的某些部分不完全正确,它就会神秘地失败。
0赞 Sig 9/26/2023
嗨,@Alex,我正在尝试替换文本字段,但我很难弄清楚如何访问我视图中的对象。form.turbo_stream.erb
0赞 Les Nightingill 9/26/2023
你有没有确认 Turbo js 真的加载到了页面上?在浏览器的开发工具控制台中键入内容。它在那里吗?Turbo
0赞 Sig 9/26/2023
是的,它已加载。不过,不知道为什么这很重要。谢谢。
0赞 Les Nightingill 9/27/2023
好吧,需要一些东西来处理服务器响应并理解这意味着“替换命名元素”,这就是 Turbo js

答: 暂无答案