1

story多くの のラッパーとして機能するモデルがありますpostsPosts写真が添付されている場合があり、画像のアップロードと処理には remotipart と paperclip を使用しています。

これは、ユーザーPOSTSが新しいpost. post投稿者が投稿やアップロードした画像を編集できるようにしたい。ここで問題が発生します。

ユーザーがeditボタンをクリックすると、ユーザーが投稿を作成するときに最初に使用したフォームを変更して、同じフォームを使用して投稿を編集できるようにします。<form>その一環として、次のタグを変更します。

<form id="new_post_for_story_241" class="new_post" accept_charset="UTF-8" action="/stories/241/posts.json" data-remote="true" enctype="multipart/form-data" method="post" novalidate="novalidate" target="">

<form id="new_post_for_story_241" class="new_post" accept_charset="UTF-8" action="/stories/241/posts/287.json" data-remote="true" enctype="multipart/form-data" method="put" novalidate="novalidate" target="">

繰り返しますが、ユーザーが画像を含めない場合、これは編集を PUT するのに問題なく機能します。ただし、フォームに新しい画像が含まれている場合は壊れます。何らかの理由で、ユーザーが変更されたフォームの一部として新しい画像をアップロードしたい場合、フォームは GET アクションで送信されます。これをトリガーする:

Started GET "/stories/241/posts/287.json?post%5Bphoto%5D=champcourse15thgreen.jpg&post%5Bcontents%5D=another+pic%0D%0A&remotipart_submitted=true&X-Requested-With=IFrame&X-Http-Accept=text%2Fjavascript%2C+application%2Fjavascript%2C+application%2Fecmascript%2C+application%2Fx-ecmascript%2C+*%2F*%3B+q%3D0.01" for 127.0.0.1 at 2013-05-22 10:54:50 -0700

ActionController::RoutingError (No route matches [GET] "/stories/241/posts/287.json"):

なぜこれが起こっているのか誰でも知っていますか?さらに重要なことに、それを修正していますか?

4

1 に答える 1

0

古いバージョンの remotipart 依存関係jquery-iframe-transportがあり、フォームのメソッドを設定するコードが正しくない可能性があります (元のフォームのメソッドをコピーするのではなく、ハードコーディングされています)。それ以来修正されています。

于 2015-04-16T05:21:29.777 に答える