Ruby on rails 间歇性使用顺序的命名错误

Ruby on rails 间歇性使用顺序的命名错误,ruby-on-rails,activerecord,rubinius,Ruby On Rails,Activerecord,Rubinius,我在生产rails应用程序中间歇性地遇到以下错误 NoMethodError (undefined method `values' on priority:Symbol.): app/controllers/things_controller.rb:33:in `index' 令人不快的线条如下所示: @things = Thing.where(:some_column => 'some_value').order(:priority).reverse 这是一个activereco

我在生产rails应用程序中间歇性地遇到以下错误

NoMethodError (undefined method `values' on priority:Symbol.):
  app/controllers/things_controller.rb:33:in `index'
令人不快的线条如下所示:

@things = Thing.where(:some_column => 'some_value').order(:priority).reverse
这是一个activerecord模型

奇怪的是,当我重新启动应用程序时,错误消失了。只有在一些奇怪的情况下才会发生这种情况,而我无法在prepod/dev环境中重现这种情况


以前有人遇到过这样的事情吗?有人能建议我如何诊断这个错误吗?有问题的行似乎不是问题生产中的日志也没有显示完整的堆栈跟踪

经过一段长时间的头发拉扯会话后,我发现这是由于rubinius 2.2.10和2.2.9中的错误造成的。ActiveRecord查询方法where和order都在内部调用EnumerableRep。应用程序运行一段时间后,或满足某些未知条件后,当数组包含符号时,此函数将停止正常运行

当一个块作为grep函数的参数给出时,无论给定的模式如何,该块始终应用于数组的符号元素


错误报告是

我实际上认为这可能是rails 4.1.6中的错误。回滚到4.1.5,该问题和其他一些问题已消失。如果其他人有类似的问题,这个问题暂时还没有解决。事实上,这并没有解决这个问题。仍然断断续续地发生