2

我最近将一个 Rails 应用程序从 3.0.4 更新到 3.2.4,但我遇到了一个奇怪的问题。似乎我的应用程序中的每个数组都已冻结。例如,如果一个数组从数据库中获取一组文章,则该数组将在第一次调用该方法时被实例化并且不会改变。如果数组中的一篇文章在数据库中被删除,它仍然会在数组中引用它。只有当我重新启动服务器时它才会改变。但是,当我调用array.frozen 时?它返回假。当我部署到heroku时,我得到了这个错误:

!!处理请求时出现意外错误:无法修改冻结数组

关于可能导致这种情况的任何建议?我更新了另一个应用程序并没有遇到这个问题。

4

1 回答 1

4

好吧,我让它工作了。我跑了heroku run script/rails console,它给了我一个我还没有看到的新错误。原来在我的环境/production.rb 文件中有一行随机代码,它一定是被意外复制和粘贴的。删除它后,它清除了冻结的阵列问题。在一些不相关的 gem 问题之后,我能够让我的网站重新上线。所以我的建议是检查你的 production.rb 文件并运行 heroku 控制台。

于 2012-06-18T15:10:16.067 回答