Jas*_*son 7 migration ruby-on-rails devise ruby-on-rails-3
我正在学习rails.我发现Devise非常适合快速无缝地进行身份验证,但我确实有一个问题.
如何在第一次运行Devise发生器后更改模块(例如rails g devise User)?此默认值为以下迁移:
def self.up
create_table(:users) do |t|
t.database_authenticatable :null => false
t.recoverable
t.rememberable
t.trackable
# 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
end
Run Code Online (Sandbox Code Playgroud)
如果我运行此迁移,如何在以后添加/删除其中一些模块?例如,也许我想为现有的用户模型添加可锁定功能.我理解如何在模型中进行更改,devise.rb
但我不确定如何处理迁移.
抱歉,如果答案已经在这里,我已经在这里和谷歌拖了几个小时,找不到任何东西.也许我正在寻找错误的东西.
提前致谢!
杰森
ps.我正在使用
rails 3.0.0
设计1.1.3
我一直在寻找同一个问题的答案,幸运的是,碰巧坐在旁边知道该怎么做的人身边.
以下是通过迁移脚本更新用户模型以包含可确认模块的示例(使用'rails generate migration add_confirmable_to_users'生成的框架脚本文件):
class AddConfirmableToUser < ActiveRecord::Migration
def self.up
change_table :users do |t|
t.confirmable
end
add_index :users, :confirmation_token, :unique => true
end
def self.down
remove_column :users, :confirmable
remove_index :users, :confirmation_token
end
end
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1672 次 |
最近记录: |