我遇到了一个奇怪的问题,经过大量研究后无法接近。我有几种通过 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 时,它可以解决问题。这仍然是一个问题,但似乎与其说是关于路由,不如说是关于带有文件上传的表单。