1

我有一个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"):

任何人都知道为什么会发生这种情况,更重要的是,有解决办法吗?

4

1 回答 1

0

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

于 2015-04-16T05:21:29.777 回答