Ответ 1
Я смотрю на решение той же проблемы сегодня, и поскольку на это не отвечают, давая ей go =)
Модели
Devise генерирует модель User
, если вы установили по умолчанию.
Удалите строки под devise
. Вот как выглядит мой.
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
В attr_accessible
вы можете удалить email
, :password
, password_confirmation
и remember_me
, если они вам больше не нужны.
Просмотры
По умолчанию Devise install не генерирует представления в вашей папке app
. Если вы создали переопределяющие представления для Devise, вы можете удалить их, запустив rails destroy devise:views
(Rails 3).
Как правило, все представления сохраняются в app/views/devise
.
Контроллеры
По умолчанию Devise также не создает никаких контроллеров. Если вы сделали какие-либо переопределения, они, скорее всего, известны как registrations_controller
. Найдите свой проект для контроллеров, которые наследуют класс Devise::RegistrationsController
.
Кроме того, если вы следовали за вики и обезьяной, чтобы добавить методы перенаправления и т.д., обратите внимание на методы, такие как after_sign_in_path_for
, store_location
и т.д., которые предназначены для перенаправления пользователей.
Миграция
Если вы установили Devise через свои генераторы, обратите внимание на миграцию create_users
. Если вам это больше не нужно, используйте drop_table :users
в процессе миграции, чтобы избавиться от него.
Я предполагаю, что большинство людей захотят сохранить свою модель User. Если вы используете Devise < 2.0, миграции выполняются помощниками. Как только вы удалите Devise из Gemfile
, Rails не поймут нижеприведенных помощников и бросят ошибки, например, когда вы пытаетесь перезапустить эти миграции в другом поле. Эти помощники:
t.database_authenticatable
t.recoverable
t.rememberable
t.trackable
t.encryptable
t.confirmable
t.lockable
t.token_authenticatable # => becomes t.string :authentication_token
Для точных столбцов ниже приведена ссылка на столбцы, созданные Devise.
https://github.com/plataformatec/devise/wiki/How-To:-Upgrade-to-Devise-2.0-migration-schema-style
В приведенном выше руководстве перечислены поля, созданные с помощью помощников. Вы должны иметь возможность просматривать список и вашу модель (например, вызывать User
в консоли), генерировать миграцию, которая удаляет эти столбцы.
НО...
Немного досадно, что для согласованности мы должны преобразовать перенос, чтобы не использовать помощники, используя приведенное выше руководство, а затем сгенерируем миграцию, чтобы удалить их. Это для согласованности истории миграции, иначе любой, кто запускает миграцию, может попытаться вызвать несуществующих помощников. Кроме того, миграция для удаления полей также ожидает появления полей.
В качестве альтернативы, возможно, самое подходящее время для сквоша миграции и полагаться на schema.rb
/structure.sql
для состояния текущей схемы. Даже после удаления миграций вы всегда можете создать резервную копию разработки в любое время, используя rake db:schema:load
.
Инициализаторы и локали
Удалите devise.rb
в config/initializers
и devise.en.yml
в config/locales
.
Маршруты
Удалите все строки devise_for
. Это вызовет ошибки после удаления драгоценного камня.
Файл Gem
Yaay. Весь купол, удалите строку gem 'devise'
из вашего gemfile.