轨道:尝试运行轨道应用程序时冻结错误



我正在运行一个 rails 应用程序,当它现在在控制台和 Web 应用程序中显示以下错误时,未加载。

冻结

错误(无法修改冻结致命(:

请帮忙,因为我什至不明白这是什么。如果提到,将提供任何进一步的代码详细信息。

将 Rails 应用程序从 4.2.10 升级到 5.0 时,我遇到了同样的错误。该错误仅发生在wicked_pdf 2.0.1 中,降级到wicked_pdf 1.4.0 也起到了作用。

终于,我找到了原因。我将在这里解释我找到该问题解决方案的方式,以便它可以帮助遇到相同错误的其他人。

我看到了 FrozenError 类文档,发现这是在 ruby 2.5.x 及更高版本中引入的。这是文档冰雪奇缘错误文档 .我只是首先将 ruby 版本升级到最新的 2.6.x,但这并没有解决问题。

修复:

  • 将 ruby 版本降级到 2.5.x 以下至 2.4.x。
  • 现在在2.4.x中,这个FrozenError类不存在。
  • 我现在可以看到导致问题的真正错误。这是一个系统堆栈错误
  • 这是由于项目(wicked_pdf(中的宝石造成的。
  • 删除宝石解决了我的问题。
对我来说

,当我在运行build_resource后试图找到resource.class时,它发生了,

为了解决这个问题,我从resource对象中删除了.class

如果有人仍在为该错误而苦苦挣扎,也许可能是您文件的名称

例:

# filename my_api_class.rb -> bad should be my_a_p_i_class.rb
class MyAPIClass

# filename my_api_class.rb
class MyApiClass

最新更新