【发布时间】:2013-06-26 19:09:12
【问题描述】:
刚刚将 Rails 项目从 ruby-1.9.3-p392 升级到 ruby-2.0.0-p0。在本地一切正常,但是当我推送到 heroku 上的登台服务器时。 friendly_id gem 崩溃了
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”并在 ruby 2.0 的本地开发环境和 1.9.3 的生产环境中正常工作。
rails 版本是3.2.13
以前有人遇到过这种情况吗?不确定是什么原因造成的。新的数据库还原似乎无法解决它。
【问题讨论】:
-
闻起来像时间问题,但这只是一个疯狂的猜测。如果在检查
User.primary_key之前实例化用户会发生什么? -
我正在从控制台检查 User.primary_key。实例化一个实例似乎没有任何效果。
-
User.columns是否产生预期的输出? -
#<:connectionadapters::postgresqlcolumn:0x007f36cf87b588> primary 为 false,在本地环境中为 true
-
可以不通过Rails直接查看数据库架构吗?也许在你背后发生了一些变化,整个 Ruby 2.0 部分是一条红鲱鱼。
标签: ruby-on-rails ruby ruby-2.0