刚刚将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
之前有人发生过这种情况吗?不确定是什么导致它。新鲜的数据库恢复似乎无法解决它。
答案 0 :(得分:0)
事实证明,评论者是正确的,Ruby 2.0确实是一个红色的鲱鱼。
不知何故,登台模式搞砸了,执行heroku pg_backups:restore
还不足以解决它。这是因为它只恢复数据。
执行heroku pg:reset
后跟另一次恢复是最终修复它的原因。