問題タブ [hotwire-rails]

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.

0 投票する
3 に答える
993 参照

ruby-on-rails - Rails と Hotwire でのフォーム送信エラー

ホットワイヤーでRails 6.1を実行しています。ログインフォームを作成して、電子メールとパスワードを受け取り、store_index パスにリダイレクトします。ただし、このエラーが発生しています - エラー: フォームの応答は別の場所にリダイレクトする必要があります。次のことを試しましたが、同じエラーが発生しました。

  1. 使用する format.html { redirect_to store_index_path}

  2. create 関数内のすべてをコメントアウトし、puts "Hello" を追加しました。しかし、私はまだ同じエラーが発生しました。

私は今混乱しています、助けてください

セッションコントローラー.rb

0 投票する
1 に答える
75 参照

ruby-on-rails - Rails Turbo は、ページ リダイレクトで Hubspot に挿入された HTML を削除します

Hotwire と Turbo でセットアップされた Rails アプリで Hubspot チャット ボットを使用しています。ページが最初にロードされると、Hubspot スクリプトは、チャットボットを含むページの本文に HTML を挿入します。リダイレクトが発生すると、本文が置き換えられ、挿入されたコードが削除されます。

挿入されたコードを体内に保持するにはどうすればよいですか。挿入コードが入るスクリプトと領域を でラップしようとしましたがdata-turbo="false"、うまくいきませんでした。

0 投票する
0 に答える
406 参照

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が介入できます)。