使用独角兽随机破坏Rails形成的帖子

时间:2013-03-01 01:45:44

标签: ruby-on-rails unicorn

我在生产中的独角兽http://ec2-54-245-163-172.us-west-2.compute.amazonaws.com上运行了名为Mockaroo的应用程序。用户单击主页上的“下载”按钮时,每10次中有大约1次,后置参数未正确转换为传递给控制器​​的参数散列,在这种情况下会导致某些所需的参数不存在。我可以告诉这是基于错误页面中显示的调试输出的情况。当错误发生时,params看起来像:

{"mns_attributes"=>{"1"=>{"min_date"=>"2/28/2012"}},
 "schema"=>{"columns_attributes"=>{"1"=>{"max_date"=>"3/1/2013",
 "date_format"=>"%-m/%-d/%Y",
 "values"=>"",
 "min_words"=>"10",
 "max_words"=>"20",
 "min_paragraphs"=>"1",
 "max_paragraphs"=>"3", ...

它实际上应该是什么样的

{"utf8"=>"✓",
 "authenticity_token"=>"LAV7Olx38E2UH64CS6BWpIT1qiHigcwfF780250iHkE=",
 "schema"=>{"columns_attributes"=>{"0"=>{"name"=>"id",
 "forgery_type"=>"Popular.row_number",
 "position"=>"1",
 "min"=>"1",
 "max"=>"100",
 "decimal_places"=>"2",
 "min_date"=>"2/28/2012",
 "max_date"=>"2/28/2013", ...

这几乎就像是放下了帖子的第一部分。当我在开发中运行时,这不会发生。请注意,我正在端口80上直接运行独角兽,而不是像nginx或apache这样的其他Web服务器。还有其他人遇到过这个问题吗?如果您想自己尝试一下,当您看到以下消息时,您会发现错误:

NoMethodError in DataController#generate

undefined method `empty?' for nil:NilClass

最离奇的部分是它只出现在Chrome和Safari等webkit浏览器中,但从未出现在Firefox中。有没有人碰到这样的事情。有没有关于如何进一步调试的建议?

- 更新 -

值得注意的是,我使用乘客和apache在另一台服务器上安装了相同的应用程序并且不会发生此错误 - 所以它必须是独角兽特有的。

0 个答案:

没有答案