3

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

{"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 上运行 unicorn,而不是在另一个 Web 服务器(如 nginx 或 apache)后面。有没有其他人遇到过这个问题?如果您想自己尝试一下,当您看到以下消息时,您就会知道您遇到了错误:

NoMethodError in DataController#generate

undefined method `empty?' for nil:NilClass

最奇怪的是,它只出现在 Chrome 和 Safari 等 webkit 浏览器中,而从未出现在 Firefox 中。有没有人遇到过这样的事情。对于如何进一步调试有什么建议吗?

- 更新 -

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

4

0 回答 0