Remotipart正在将操作从PUT更改为GET



我有一个story模型,作为许多posts的包装器。Posts可能有照片附件,我使用remotipart和回形针进行图片上传和处理。

当一个用户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"):

有谁知道为什么会发生这种情况,更重要的是,有一个修复它?

您可能有一个旧版本的remotipart依赖jquery-iframe-transport,其中设置表单方法的代码不正确(它是硬编码的,而不是复制原始表单的方法)。

最新更新