問題タブ [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.

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

ruby-on-rails - ujs + remotipaart - jQuery `.html(...)` 呼び出しを実行すると、追加された html が単なるテキストになります

私はremotipartでRails 5を使用しています。リモートパーツのバージョンは次のとおりです。

(この質問の時点で、現在のコミットは 88d9a7d55bde66acb6cf3a3c6036a5a1fc991d5e です)。

multipart: true andremote: true`を含むフォームを送信したいが、添付ファイルを送信しない場合、うまく機能します。しかし、ファイルを送信すると失敗します。

ケースを説明するために、次のような応答を考えてみましょう。

この応答が実行されると、到着直後 (js であるため)、フォームは期待どおりに表示されます (この場合、この検証エラーが発生するのは当然であり、レンダリングされた危険警告はそのようなテキストで表示されるのは正しいことです):

ここに画像の説明を入力

ただし、ファイル フィールドに入力し、まったく同じケース (まったく同じ検証エラー) を繰り返すと、フォームはまったく異なって見えます。

ここに画像の説明を入力

お察しのとおり、コンテンツはテキストとして渡されます。サーバーから受信する実際の応答は少し異なります。

これは私の応答の実際の本文です (これは悪いコピーペーストではなく、remotipart によってラップされた実際の応答です)。

modalErrors関数はかなりばかげています:

jQuery が追加された html チャンクを比較すると (ブラウザーの DOM インスペクターで探します)、次のようになります。

良い:

悪い:

ここで何が欠けていますか?私が望むのは、必要に応じてレスポーズが html コンテンツを追加できるようにすることです。

0 投票する
4 に答える
1096 参照

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 経由でのリモート ファイル アップロードを簡素化しました。

このエラーが表示される理由はありますか?

アップデート

これは私のログに表示されるものです:

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

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」です。私はすべてを正しく行おうとしてきましたが、エラーを解決しようとして、いくつかの部分を即興で作っていたことは確かです。何か変なことを見つけて共有したい場合は、良い方法を学ぶために完全にオープンです. 私のコードの他の部分をチェックする必要がある場合は、教えてください。ありがとう!

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

ajax - remotipart を使用した Rails 5 ajax アップロード ファイルが機能しない (JS ではなく HTML として送信)

Rails 5 とキャリアウェーブ

私は追加します:

私はフォームを持っています:

そのフォームの出力:

しかし、フォームを送信すると:

HTML として送信する理由、アイデアはありますか?