Манохар. Думаю, создавать 2 модели не нужно. Вы можете просто сгенерировать пользовательскую модель с помощью Devise, а затем просто выполнить миграцию следующим образом:
class AddAdminToUsers < ActiveRecord::Migration
def change
add_column :users, :admin, :boolean, default: false
end
end
Который в основном создаст флаг, позволяющий вам сделать что-то вроде этого:
if current_user.admin?
end
Если на странице потенциально не может быть установлен current_user, то:
if current_user.try(:admin?)
end
Теперь для доступа к контроллерам из Devise это ссылка:
https://github.com/plataformatec/devise/tree/master/app/controllers/devise
Чтобы установить, изменить или расширить функциональность контроллеров, просто создайте каталог devise внутри контроллеров и поместите необходимые файлы контроллеров внутри устройства devise.
Это пример кода одного из моих приложений:
# registrations_controller.rb
class MyDevise::RegistrationsController < Devise::RegistrationsController
def new
super
end
def create
super
end
def update
super
end
end
Я только что создал папку с именем my_devise в папке моего контроллера, когда у вас есть код выше, вы можете просто добавить функциональность к методам по вашему желанию.