問題タブ [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.
ruby-on-rails - Hotwire Turbo ストリームを介して画像を正しくレンダリングするにはどうすればよいですか?
私の問題: Hotwire/Turbo を使用して画像をレンダリングすると、すべての URLexample.org
が実際のホスト名ではなくホストでレンダリングされます。通常のビューは問題ありませんが、Turbo ストリームを介してパーシャルをレンダリングすると、http://example.org/.../
.
コンテキスト: 私は、Todo と関連付けられたユーザーのリストを一緒に表示する作業ビュー、部分ストリーム、およびターボ ストリームを備えた単純な Todo アプリを持っています。ユーザーを Todo に参加させると、ターボ ストリームが正しいパーシャルをレンダリングし、ユーザーの名前とアバターを DOM の必要な場所に配置します。ただし、ActiveStorage からのイメージ URL にはexample.org
ホスト名が含まれています。
config/environments/*.rb
、 、 を含むroutes.default_url_options[:host]
で、標準の URL オプションを設定しましconfig.action_mailer.default_url_options[:host]
た。また、パラメーターconfig/initializers/application_controller_renderer.rb
を設定できるファイルについても学びました。http_host
ただし、ブール値を設定http_host
しましたがhttps
、それでも Turbo はimage_tag
example.org でレンダリングしています。
さらに、(問題を修正するために) デフォルトのレンダラーをプログラムで操作する方法についての限られたアドバイスを見つけました。このソースは、次のようにプロパティを取得ApplicationController.renderer
してオーバーライドするように指示しています。
しかし、broadcast_action_to
メソッドはパラメーターを受け入れないように見えるrenderer
ため、これは実際には Turbo 内では役に立ちません。
見落としている構成があるはずですが、Turbo または Hotwire のドキュメントには見つかりません。
ruby-on-rails-5 - Turbo Streams で入力変更に関するフォームを送信するにはどうすればよいですか?
入力フィールドが変更されるたびに自動的に送信したいフォームがあります。Turbo Streams を使用onchange: "this.form.submit()"
していますが、Turbo Streams によってキャプチャされず、Rails は標準の HTML 応答を使用します。送信ボタンをクリックすると正常に動作します。どうすればこれを回避できますか?