在ruby 2.0升级后,Active Record模型的“primary_key”类方法返回nil

时间:2013-06-26 19:09:12

标签: ruby-on-rails ruby ruby-2.0

刚刚将Rails项目从ruby-1.9.3-p392升级到ruby-2.0.0-p0。一切都在本地工作正常,但当我推到我的临时服务器上heroku。 friendly_id宝石正在崩溃

nil is not a symbol

vendor/bundle/ruby/2.0.0/gems/friendly_id-4.0.9/lib/friendly_id/slug_generator.rb:56:in `conflicts'

显然,User模型没有primary_key类属性

User.primary_key
> nil  

它应该返回“id”并在1.9.3上的ruby 2.0和生产环境的本地开发环境中正常工作。

rails版本为3.2.13

之前有人发生过这种情况吗?不确定是什么导致它。新鲜的数据库恢复似乎无法解决它。

1 个答案:

答案 0 :(得分:0)

事实证明,评论者是正确的,Ruby 2.0确实是一个红色的鲱鱼。

不知何故,登台模式搞砸了,执行heroku pg_backups:restore还不足以解决它。这是因为它只恢复数据。

执行heroku pg:reset后跟另一次恢复是最终修复它的原因。