gpt4 book ai didi

ruby-on-rails - 第一代后修改设计模块

转载 作者:行者123 更新时间:2023-12-04 05:36:32 25 4
gpt4 key购买 nike

我正在学习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

如果我已运行此迁移,我如何在稍后阶段添加/删除其中一些模块?例如。也许我想将可锁定添加到现有的用户模型。我了解如何更改模型和 devise.rb但我不确定如何处理迁移。

抱歉,如果答案已经在这里,我已经在这里和谷歌搜索了几个小时,但找不到任何东西。也许我在寻找错误的东西。

提前致谢!
杰森
附言。我正在使用
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

关于ruby-on-rails - 第一代后修改设计模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3817939/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com