2016-08-26 2 views
1

Я редактирую приложение, которое я создал несколько месяцев назад, и у меня есть Devise, установленный в нем с включенным :confirmable. Я хотел удалить подтверждение из своего приложения, но моя схема db уже имеет подтвержденные встроенные многие миграции назад, и почти невозможно иметь плавные откаты.Удалить подтверждено с помощью Devise (Rails)

Как удалить подтверждение из моего приложения и разрешить пользователю сразу зарегистрироваться, не нажав ссылку на подтверждение по электронной почте? Если это невозможно, есть ли обходной путь?

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 

ответ

3

confirmable Просто удалите из параметров devise метода в user.rb

А также удалить столбцы confirmation_token, confirmed_at, confirmation_sent_at и unconfirmed_email с помощью миграции, поскольку они больше не нужны.

+0

Извините, что повторил то, что вы только что сказали, но вы имеете в виду удаление ': confirmable' из' devise: database_authenticatable,: registerable,: recoverable,: rememberable,: trackable,: validatable,: confirmable' list в User model , верный? – Iggy

+0

Извините за путаницу. Обновлен мой ответ –

Смежные вопросы