在生成活动记录模型时设置列的默认值

时间:2018-04-11 06:12:00

标签: ruby-on-rails

我正在尝试为我的应用添加设计身份验证。将有两种类型的用户,管理员和公共用户。我试图通过向我将要生成的admin模型添加布尔User列来实现此目的,

rails g devise User admin:boolean 

如何在此处将默认布尔值设置为false

2 个答案:

答案 0 :(得分:3)

开始于:

rails g devise User

然后打开由Devise生成的迁移并添加:

t.boolean :admin, default: false

里面的某个地方
create_table :users do |t|
  <here goes your code>
end

答案 1 :(得分:0)

最佳做法是通过迁移

rails generate migration add_admin_to_users admin:boolean

它会为您生成迁移,然后添加默认值:false:

class AddAdminToUsers < ActiveRecord::Migration
  def change
    add_column :users, :admin, :boolean, default: false
  end
end

然后rails db:migrate

你问题的答案

  

问:在生成活动记录模型时设置列的默认值

     

Ans:您无法将默认值传递给rails generate migration