【发布时间】:2013-01-02 02:15:01
【问题描述】:
我遇到了一个奇怪的问题,经过大量研究后无法解决。我有几种通过 Carrierwave 上传文件的表格。当我上传信息时,部分路线被切断(我认为)。
例如,我有一个多部分的表单提交给:
https:/domain/programs/223/add_file 作为 POST
但是在提交时我得到了错误
没有路由匹配 [POST] "/223/add_file"
即使我的地址栏中的内容是完整的路线。如果将完整的路线作为 GET 请求提交,它可以正常工作。当我运行 rake 路线时,路线显示得很好。
这是我的路线的一个子集:
resources :programs do
match "add_file" => "programs#add_file"
如果重要的话,我在 Apache 上运行 Rails 3.2.2 和Passenger。该问题仅发生在此生产服务器上,从未在开发中。
有什么想法吗?我被困在这个上,因为它影响了多条路线,我尝试为该表格定义一个自定义路线,但没有运气。
更新: 当我从表单中删除 multi-part => true 或 file_field_tag 时,它可以解决问题。这仍然是一个问题,但似乎与其说是关于路由,不如说是关于文件上传的表单。
【问题讨论】:
-
我找到了一个似乎可行的肮脏解决方案。如果我的实际路线是/programs/223/add_file,那么我的表单需要指向/programs/programs/223/add_file。这不应该工作,但可以。去图吧。
-
你可能想查看我的帖子stackoverflow.com/questions/15178033/…
-
这对我也有用。谢谢 - 你是一个救生员!让我的整个申请失败不在本周的议程上。如果修改有任何副作用,我会通知您。
-
不客气,很高兴为您提供帮助)
-
如果你不介意我添加了一个答案,那么你可以接受它作为一个正确的答案;) thx