2005 年 7 月 9 日,星期六

您运行的是 Ruby 1.8.2 的最终版本吗?

由 admin 发布

相当多的人在使用 Rails 0.13 时遇到了问题,因为它依靠 Ruby 1.8.2 最终版本中的行为。该版本于 2004 年 12 月 25 日发布。您可以通过执行 ruby -v 来检查您是否具有适当的版本,执行该命令后应该返回“ruby 1.8.2 (2004-12-25)”。

如果没有返回此内容,则需要升级。12 月 25 日之前发布的版本是测试版,无法确保与 Rails 兼容。最重要的是,会话异常比如

NoMethodError: undefined method `new_session' for #CGI::Session:0x259f6c0

…或类似此类的 Proc 错误

/gems/actionpack-1.9.0/lib/action_controller/
code_generation.rb:68:in `dup': allocator undefined for Proc (NoMethodError)

两者都是明确的标志,表明您的 Ruby 测试版已超过其到期日。