正如 hotwire登录页面上的示例所提供的,表单清除过程对我来说是不透明的,也不起作用。
安装了运行 ruby 3.1 的 rails 7.0.1。刺激控制器设置为:
import { Controller } from "@hotwired/stimulus" // "stimulus"
export default class extends Controller {
reset() {
this.element.reset()
}
}
注意:DHH的例子只调用刺激,而rails预装的hello-controller.js
指的是@hotwired/stimulus
. 两个 syntassi 都试图无济于事。
表单元素的结构如下:
<%= turbo_frame_tag 'new_message', target: '_top' do %>
<%= form_with(model: [ @message.room, @message ], data: { controller: "reset_form", action: "turbo:submit-end->reset_form#reset" } ) do |form| %>
<%= form.text_field :content, class: "block shadow rounded-md border border-gray-200 outline-none px-3 py-2 mt-2 w-full" %>
<%= form.submit 'send' %>
<% end %>
我看到提交动作(实际上是它的结尾)是连接。但它没有发生,而新记录已创建并且 UI 按预期更新。
为什么会失败以及应该如何解决?