在上传.zip文件时,Rails的Paperclip gem而不是PUTting

Chr*_*her 7 zip ruby-on-rails paperclip

我有一个表格(Rails 3.2.8,Paperclip 3.1.4),带有两个Paperclip附件,用于带有两个has_attached_files的模型.一个是图像,另一个是通用文件,通常是.zip文件.

只要我不尝试上传.zip文件,一切正常.上传任何大小的.zip文件(原始版本为80 MB但尝试3 MB以查看是否出现大小问题)会导致表单POST而不是PUT,并且Rails会引发路由错误.

表单方法是POST但是将Rails的隐藏_method值设置为'put',这样可以正常工作,并且在我不尝试上传.zip文件时会导致PUT.

该表单确实正确设置了enctype'multipart'位.

知道是什么原因引起的吗?

Dmi*_*ten 1

文件听起来很大。仔细检查实际参数是否已包含在请求中。我也会根据文件的大小在本地获取此信息。

我看到的效果是,rails 基本上不会获得任何参数。由于 PUT 实际上是一个带有隐藏元素的帖子,由于参数被删除,rails 只会看到 POST。

我实际上不确定是什么原因造成的。我认为可能是本地网络服务器,所以你可能需要配置nginx什么的。在 Heroku 或其他任何东西上,这种情况从来不会发生在我身上,但如果文件足够大,则总是在本地发生。

另请注意,webrick 的请求负载限制非常小。所以不要用那个。使用“thin”,因为它是一个非常容易的替代品。