rails generate devise用户我得到了这个=>
class DeviseCreateUsers < ActiveRecord::Migration
def self.up
create_table(:users) do |t|
t.database_authenticatable :null => false
t.recoverable
t.rememberable
t.trackable
# t.encryptable
# t.confirmable
# t.lockable :lock_strategy => :failed_attempts, :unlock_strategy => :both
# t.token_authenticatable
t.timestamps
end
add_index :users, :email, :unique => true
add_index :users, :reset_password_token, :unique => true
# add_index :users, :confirmation_token, :unique => true
# add_index :users, :unlock_token, :unique => true
# add_index :users, :authentication_token, :unique => true
end
def self.down
drop_table :users
end
end
但我想创建一个包含用户名,电子邮件,密码,角色,组,标记,created_at,modified_at列的用户表。
我该怎么做?
这个结构是否正确,可以使用用户名,密码,电子邮件,群组,角色,标记?
class DeviseCreateUsers < ActiveRecord::Migration
def self.up
create_table(:users) do |t|
t.database_authenticatable :null => false
t.recoverable
t.rememberable
t.trackable
# t.encryptable
# t.confirmable
# t.lockable :lock_strategy => :failed_attempts, :unlock_strategy => :both
# t.token_authenticatable
t.string :username
t.string :password
t.string :email
t.string :group
t.string :role
t.integer :mark
t.timestamps
end
add_index :users, :email, :unique => true
add_index :users, :reset_password_token, :unique => true
# add_index :users, :confirmation_token, :unique => true
# add_index :users, :unlock_token, :unique => true
# add_index :users, :authentication_token, :unique => true
end
def self.down
drop_table :users
end
end
这些是什么?
t.database_authenticatable :null => false
t.recoverable
t.rememberable
t.trackable
答案 0 :(得分:3)
您可以执行迁移以将一些字段添加到用户表。 例如:
rails g add_fields_to_users username:string # as well as other fields you need
然后,为了向表运行添加列:
rake db:migrate
Devise已经生成了一些你需要的列:email,password,created_at,updated_at ......
要为您的用户模型添加角色,您应该观看cancan截屏视频:railscasts并阅读doc以查看更新。
修改强>
如果您想手动添加字段,可以在运行迁移之前在self.up方法中添加它们:
def self.up
create_table(:users) do |t|
#...
t.rememberable
t.trackable
t.string :username
#... your other attributes here
end