【发布时间】:2020-10-03 23:02:26
【问题描述】:
在 Rails 5.2.2.4 中,我遇到了这种莫名其妙的行为,其中 thread_mattr_accessor 随机变为 nil。
鉴于此模块:
module Test
thread_mattr_accessor :max_installments
self.max_installments = 12
end
在 6 次寻呼机刷新中(在开发中使用 Puma),当将整数与该变量进行比较时,我得到一个 comparison of Integer with nil failed。
在 Rails 红色异常页面上,我可以使用底部控制器来确认它实际上是 nil!
但是,只需刷新页面几次,我最终会在设置了该变量的情况下获得正常的页面加载。
什么可能将其设置为零?除了上面类定义中的 self.max_installments= 之外,没有任何代码可以将该变量设置为其他任何位置。
【问题讨论】:
-
我会检查
thread_mattr_accessor的实现。可能是 Rails 中的错误。
标签: ruby-on-rails ruby