問題タブ [turbo-frames]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - Rails Turbo Frame 応答によって描画されたフォームを送信できません
Turbo_frame 内のフォームは、2 回目の送信がブロックされます。
現在のページとフォーム アクションの両方が同じパスです。フォームを新しい場所にリダイレクトするか、エラー コードを返す必要があるようです: Turbo/pull/39。
すべてのインデックス ビューにフォームがあり、インデックス アクションに GET リクエストを送信します。これにより、URL クエリ パラメータに基づいてレコードがフィルタリングされます。これはうまくいきます。これは最新のRailsではできなくなりましたか? フォーム アクションの新しいルートを作成しないようにするために、ここで適用できる回避策はありますか?
これらはべき等なフィルター/検索要求であるため、GET メソッドです。フォームは、フィルター値を収集して送信する便利な方法です。このシナリオで Hotwire を使用する Rails がリダイレクトを主張するのは正しいですか、意図的ですか?
更新:
Turbo を使用する代わりに xhr としてフォームを送信すると機能します。local: false
フォームにとを追加data-turbo: false
します。次に index.js.erb を追加し、レンダリングされたパーシャルにdocument.getElementByID(<id of turbo frame>)
設定します。outerHTML
非推奨のujs機能が原因でこれが機能しなくなるかどうかはわかりません(おそらくmrujsが介入できます)。