Ruby on rails 设计gem:在初始安装后添加模块
这可能不是专门针对Desive的,但我想知道,当初始安装不包括所述模块时,如何向已经安装的gem添加额外的模块?在designe的情况下,迁移助手Ruby on rails 设计gem:在初始安装后添加模块,ruby-on-rails,migration,gem,devise,Ruby On Rails,Migration,Gem,Devise,这可能不是专门针对Desive的,但我想知道,当初始安装不包括所述模块时,如何向已经安装的gem添加额外的模块?在designe的情况下,迁移助手t.confirmatible在初始迁移的Self.up方法中很有用,整个用户表在Self.down中被拆下。我的Rails fu不够强大,无法揭示t.confirmable助手的实际操作 当用户表已经存在,并且您希望添加类似:confirmable或:token\u authenticatable的内容时,会发生什么情况?显然,您不能再创建表(:us
t.confirmatible
在初始迁移的Self.up
方法中很有用,整个用户表在Self.down
中被拆下。我的Rails fu不够强大,无法揭示t.confirmable
助手的实际操作
当
用户
表已经存在,并且您希望添加类似:confirmable
或:token\u authenticatable
的内容时,会发生什么情况?显然,您不能再创建表(:users)。。。所以我认为我想添加列:用户,
和删除列:用户,
,但是我们如何着手找出需要发生什么呢 看一看designe::Schema
哪个有这个
# Creates confirmation_token, confirmed_at and confirmation_sent_at.
def confirmable
apply_devise_schema :confirmation_token, String
apply_devise_schema :confirmed_at, DateTime
apply_devise_schema :confirmation_sent_at, DateTime
end
然后
因此,在迁移过程中,只需执行以下操作
add_column :users, :confirmation_token, :string
add_column :users, :confirmed_at, :datetime
add_column :users, :confirmation_sent_at, :datetime
而向下的方向正好相反 您的迁移:
class DeviseAddConfirmable < ActiveRecord::Migration
def change
change_table(:users) do |t|
t.confirmable
end
add_index :users, :confirmation_token, :unique => true
end
end
类designeaddconformabletrue
结束
结束
class DeviseAddConfirmable < ActiveRecord::Migration
def change
change_table(:users) do |t|
t.confirmable
end
add_index :users, :confirmation_token, :unique => true
end
end