問題タブ [remotipart]
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 - ujs + remotipaart - jQuery `.html(...)` 呼び出しを実行すると、追加された html が単なるテキストになります
私はremotipartでRails 5を使用しています。リモートパーツのバージョンは次のとおりです。
(この質問の時点で、現在のコミットは 88d9a7d55bde66acb6cf3a3c6036a5a1fc991d5e です)。
multipart: true and
remote: true`を含むフォームを送信したいが、添付ファイルを送信しない場合、うまく機能します。しかし、ファイルを送信すると失敗します。
ケースを説明するために、次のような応答を考えてみましょう。
この応答が実行されると、到着直後 (js であるため)、フォームは期待どおりに表示されます (この場合、この検証エラーが発生するのは当然であり、レンダリングされた危険警告はそのようなテキストで表示されるのは正しいことです):
ただし、ファイル フィールドに入力し、まったく同じケース (まったく同じ検証エラー) を繰り返すと、フォームはまったく異なって見えます。
お察しのとおり、コンテンツはテキストとして渡されます。サーバーから受信する実際の応答は少し異なります。
これは私の応答の実際の本文です (これは悪いコピーペーストではなく、remotipart によってラップされた実際の応答です)。
modalErrors
関数はかなりばかげています:
jQuery が追加された html チャンクを比較すると (ブラウザーの DOM インスペクターで探します)、次のようになります。
良い:
悪い:
ここで何が欠けていますか?私が望むのは、必要に応じてレスポーズが html コンテンツを追加できるようにすることです。
ruby-on-rails - Rails 5 と Carrierwave を使用してリモートで画像をアップロードする
Carrierwave と Rails 5 を介して画像をリモートでアップロードしようとすると、次のエンコード エラーが表示されます。
Encoding::UndefinedConversionError - ASCII-8BIT から UTF-8 への "\x89"
私はこの回答と、回答によって提案されたactivesupport-json_encoder gemを見てきましたが、運はありません。gem はまだ Rails 5 をサポートしていないようです。
私のフォームは、次のような通常のマルチパート レール フォームです。
画像を含むフィールドは「添付ファイル」と呼ばれます。私のコントローラーでは、コードは次のようになります。
許可されたパラメーターを処理するために、 reform gemを使用しています。添付ファイル パラメータを許可するようにしました。さらに、Remotipart gemを追加して、Rails 経由でのリモート ファイル アップロードを簡素化しました。
このエラーが表示される理由はありますか?
アップデート
これは私のログに表示されるものです:
jquery - Remotipart (+ Carrierwave) ファイルをアップロードせず、ajax を使用しない
私は今、これを機能させるために1週間を費やし、remotipartについてできる限り読んで、正しく設定しようとしましたが、惨めに失敗しました. タイトル、説明、音声ファイル、画像ファイルを含むフォームがあります。フォームを送信せずに送信するremote: true
と完全に機能しますが、フォームを ajax でアップロードしようとすると、ファイルがアップロードされていないようです。
オーディオ ファイルを投稿の要件にしたので、新しいアクションにリダイレクトされ、「オーディオ」を空白にしないでくださいというエラーが表示されます。
この検証をモデルから削除しても、アップロードしようとするとオーディオ ファイルがアップロードされません。
また、開発者ツールを確認したところ、取得している応答が javascript ではなく html であることがわかりました。
などの他の宝石をすでに試しましjquery-uploadfile-rails
たが、さまざまな理由でどれもうまくいきません。私は今何をすべきか分かりません。
_form.html.erb
posts_controller.rb
create.js.erb
最後に、私はまだ Rails について学んでいます。それはアーキテクチャであり、「Rails Way」です。私はすべてを正しく行おうとしてきましたが、エラーを解決しようとして、いくつかの部分を即興で作っていたことは確かです。何か変なことを見つけて共有したい場合は、良い方法を学ぶために完全にオープンです. 私のコードの他の部分をチェックする必要がある場合は、教えてください。ありがとう!
ajax - remotipart を使用した Rails 5 ajax アップロード ファイルが機能しない (JS ではなく HTML として送信)
Rails 5 とキャリアウェーブ
私は追加します:
と
私はフォームを持っています:
そのフォームの出力:
しかし、フォームを送信すると:
HTML として送信する理由、アイデアはありますか?