Ruby on rails 为什么生产中的呜呜_nils默认设置为false?

Ruby on rails 为什么生产中的呜呜_nils默认设置为false?,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,在我的开发环境中,对nil调用id会产生错误,但在生产环境中,它会自动返回4。开发人员可能不知道这一点 那么,有没有什么具体的原因,为什么在生产环境中默认情况下不将“呜呜呜”设置为true 如果我们在生产中设置为真,会有什么问题吗 在nil上调用whiny_nils抱怨的方法通常表示代码中存在错误或运行它的数据存在问题-开发人员没有预料到的是nil。在开发环境中,要做的事情是让开发人员知道这一点,以便他们可以检查它是否应该这样做。 但是,生产代码希望在运行时尽可能少地出现错误,因此默认的假设是,

在我的开发环境中,对nil调用id会产生错误,但在生产环境中,它会自动返回4。开发人员可能不知道这一点

那么,有没有什么具体的原因,为什么在生产环境中默认情况下不将“呜呜呜”设置为true

如果我们在生产中设置为真,会有什么问题吗

在nil上调用whiny_nils抱怨的方法通常表示代码中存在错误或运行它的数据存在问题-开发人员没有预料到的是nil。在开发环境中,要做的事情是让开发人员知道这一点,以便他们可以检查它是否应该这样做。 但是,生产代码希望在运行时尽可能少地出现错误,因此默认的假设是,如果您在nil上调用.id,这是故意的,并且您知道自己在做什么-这不是语法错误,所以我们放弃它


如果您在生产时将whiny_nils设置为true,您的生产站点可能会出现更多错误,这显然是一个问题。另一方面,如果您不是有意在nil上调用.id,那么用户看到错误可能比从nil.id为4得到意外行为要好

@NARKOZ,我使用,ruby 1.8.7 2012-01-04 mbari 8/0x8770在patchlevel 357[i486 linux]Rails 3.0.20上你使用的是救援块吗?任何地方有类似的代码吗?Rails.env.production?