我设法解决了这个问题。我仍然不知道上述如何或为什么会发生(肯定 m = Model.find(id); (id == m.id)
应该永远是真的!),尽管我仍然怀疑缓存,因为似乎只有在缓存被启动时才会发生。
我做了以下操作,我相信这些步骤中的某些事情解决了这个问题:
- 修剪我
Gemfile
删除一些未使用的宝石,例如Dalli,并删除除几种情况以允许更新的情况下的版本约束。 - 跑
bundle update
导致许多更新的依赖关系 - 我在Heroku上使用了一个自定义的BuildPack(从官方Ruby One分叉),我在过去几个月的上游变化中拉了。
感谢所有阅读和评论的人。我想我的宝石依赖性或Heroku环境中有些不对劲。