hotwireのランディング ページの例に示されているように、フォームのクリア手順はわかりにくく、機能しません。
Rails 7.0.1 がインストールされ、Ruby 3.1 が実行されています。刺激コントローラーは次のように設定されます。
import { Controller } from "@hotwired/stimulus" // "stimulus"
export default class extends Controller {
reset() {
this.element.reset()
}
}
注: DHH の例は刺激のみを呼び出しますが、レールによって事前にインストールされているものhello-controller.js
は を参照し@hotwired/stimulus
ます。両方のシンタッシが試みられましたが、役に立ちませんでした。
フォーム要素は次のように構成されています。
<%= 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 が期待どおりに更新されている間は、それは起こっていません。
これが失敗する理由と、どのように修正する必要がありますか?