我正在编辑几个月前制作的应用程序,并且已在其中启用:confirmable的情况下安装了Devise。我想从我的应用程序中删除“ confirmable”,但是在许多迁移之前,我的数据库架构已经具有“ confirmable”内置功能,因此几乎不可能进行平滑的回滚。

如何从应用程序中删除确认邮件,并允许用户立即注册而无需单击确认电子邮件链接?如果不可能,是否有解决方法?

User model:

class User < ActiveRecord::Base
  attr_accessor :login
  devise :database_authenticatable, :registerable,
         :recoverable, :rememberable, :trackable, :validatable, :confirmable
  ...

Schema:

  create_table "users", force: :cascade do |t|
    t.string   "email",                  default: "", null: false
    ...
    t.string   "confirmation_token"
    t.datetime "confirmed_at"
    t.datetime "confirmation_sent_at"
    t.string   "unconfirmed_email"
    t.string   "username"
  end

  add_index "users", ["confirmation_token"], name: "index_users_on_confirmation_token", unique: true

最佳答案

只需从参数confirmable中的devise方法中删除user.rb

并且还使用迁移删除列confirmation_tokenconfirmed_atconfirmation_sent_atunconfirmed_email,因为不再需要它们。

08-25 18:55