story
多くの のラッパーとして機能するモデルがありますposts
。Posts
写真が添付されている場合があり、画像のアップロードと処理には 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"):
なぜこれが起こっているのか誰でも知っていますか?さらに重要なことに、それを修正していますか?