为什么Rails / Thin无法解释大型POST主体?

时间:2011-09-06 19:31:13

标签: ruby-on-rails post

在我们的客户端上,我们按如下方式将一个POST主体发送到Rails上的路由:

names[0][name]=Joe Random&names[0][id]=123&names[1][name]=Joe Random2&names[1][id]=124

这是在真实请求中正确编码,只是想显示它应该是什么样子。在处理此请求的操作中,我们会在记录params[:names]时看到我们期望的结果:

{"0"=>{"name"=>"Joe Random", "id"=>"123"}, "1"=>{"name"=>"Joe Random2", "id"=>"124"}}

但是,如果这个POST主体变得非常大,就像这样:

names[0][name]=Joe Random&names[0][id]=123 ... names[5000][name]=Joe Random5000&names[5000][id]=5124

我们记录params[:names],它现在是nil,即使您可以通过记录request.raw_post看到POST正文。此外,大或小请求中的数据没有什么异常,因为我可以手动解析它。

任何人都知道为什么会这样?如果有帮助,我会protect_from_forgery开启。另外,我在Rails 3.0.9上。

0 个答案:

没有答案