【发布时间】:2016-05-09 11:38:16
【问题描述】:
我在生产中遇到数据库错误。但在开发中没有错误。
ActiveModel::MissingAttributeError (can't write unknown attribute `invited_by_id`):
invited_by_id 是 Devise Invitable gem 添加到我的用户表的列。在第一次将我的 Devise Invitable 实现推送到生产环境然后尝试邀请新用户后,我遇到了这个错误。
我已确认在我的开发表和生产表中都存在受邀的_by_id。我已经通过 Rails 控制台对每个环境进行了多次检查。我还完成了 rake db:migrate 两次以获得良好的度量(在生产中),第一次添加了 Devise Invitable 列,第二次当然没有新的迁移可以运行,因为已经添加了列。 Devise Invitable 还向同一个用户表添加了许多其他列,这些列已成功迁移并且没有产生错误。我也成功编辑了一个。 (Google 搜索、设计 Invitable Github 问题,以及对我的开发和生产环境领域的彻底审查,除了鼓励检查该列是否存在之外,什么也没有产生——确实存在。)
在这种情况下,是否需要注意设计邀请表、用户表或开发与生产数据库?对于其他一些情况,我使用的是 Devise Invitable 1.5.5、Rails 4.2.4,我的生产数据库位于 Heroku。
谢谢!
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-4 heroku devise devise-invitable