试图添加一个'等级。属性给用户(使用设计)。 Ruby on Rails

时间:2016-02-16 18:14:44

标签: ruby-on-rails ruby

我使用以下命令生成了迁移:

rails generate migration add_tier_to_user tier:string

为用户添加等级,例如' admin'或者'学生'。

之后,db:rake已停止工作并返回错误。

迁移文件:

class AddTierToUser < ActiveRecord::Migration 
  def change 
    add_column :users, :tier, :string 
  end 
end

错误:

ActiveRecord::RecordInvalid: Validation failed: Email has already been taken

1 个答案:

答案 0 :(得分:0)

根据你得到的错误判断,我认为这发生了:

  1. 您创建了两个或多个具有相同User值的email条记录。
  2. 您生成了迁移文件。
  3. 您为email字段添加了唯一性验证。
  4. 您尝试运行迁移。
  5. 如果我是对的,问题不是由迁移本身造成的,而是由于当您通过rake db:something加载Rails环境时{{1}正在自动创建或更新。