問題タブ [turbo]

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 投票する
0 に答える
75 参照

ruby-on-rails - Rails 編集フォーム更新クエリ エラー (ターボ フレーム)

サービスを更新して、古い値を持つ SQL クエリに送信される名前を除くすべての更新を送信しようとすると。

編集フォーム: https://i.stack.imgur.com/YSZuD.png

これを送信すると、次のようになります。

ref新しい値を取得しますがname、「Tratamento 2」(古い値) を検索します。

/services/_edit.html.erb

services_controller.rb

service_params:

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

ruby-on-rails - Rails アプリケーションのすべてのフォームで Hotwire / Turbo (Turbolinks の代替) を無効にするにはどうすればよいですか?

Rails 7 では、Turbolinks は Hotwire / Turbo に置き換えられました。これは Web リンクにパッチを当てて、Turbolinks と同じように AJAX スタイルのリクエストにするだけでなく、フォームにもパッチを当てます。全体として、これがアプリケーションの一部を壊すことがわかりました。

  • ある種の JS ビヘイビアーが既に関連付けられているフォームが競合していました。
  • 標準的な Rails のエラー処理イディオム - "set the flashand render :new/ render :edit" - 驚くほど壊れます。指を追加status: :unprocessable_entityして交差させる必要があります。
  • フォーム送信を処理するコントローラーがパッチ アンカー ( ) を含む URL にリダイレクトする場合...#foo、Turbo はそれを取り除きます。

data: {turbo: false}最終的には、コード ベース全体に分散させることが理にかなっているほどの量しかありません。さらに悪いことに、SimpleForm を使用しているため、これはさらに扱いにくくなりhtml: {data: {turbo: false}}ます。

フォームに対してのみTurbo を _globally 無効にする方法はありますか(理想的には、フォームの起源に関係なくすべての<form>フォーム -タグとその中のすべてを完全にそのままにしてください)、残りの動作は変更しませんか?

0 投票する
2 に答える
252 参照

ruby-on-rails - TurboでRailsでbutton_toを使用して確認プロンプトを呼び出す方法

以前は Rails でbutton_toタグを使用すると、このような確認ダイアログを使用することができました

data: { confirm: 'Are you sure?' }内部で @rails/ujs ライブラリによって使用された Rails マジック データ属性です。

Rails 7 以降、このライブラリはデフォルトでは有効ではなくなりました。この Rails の代わりに Turbo ライブラリを使用します

そして今、このコードは機能しません

公式のRailsドキュメントTurboハンドブックには情報がありません

私が試したこと

でも結果が出ない

SOで解決策は見つかりませんでしたが、Hotwireフォーラムで見つかりました。刺激アクションを使用したこのソリューション。少しだけ改善します

それは機能しますが、非常に難しく、見栄えが悪く、Rails がクールであることに慣れています。