我有一个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"):
任何人都知道为什么会这样,更重要的是,有一个解决方法吗?
答案 0 :(得分:0)
你可能有一个旧版本的remotipart依赖jquery-iframe-transport
,它有不正确的代码来设置表单的方法(它是硬编码而不是复制原始表单的方法)。它已经修复了。