1. Вариант берет готовый гем типа rails_admin, Active Admin и любой другой.
2. Пишите свою админку.
Второй вариант по шагам.
1. Прикручиваете
Device
2. Создаете отдельный контроллер для админки и роуты
dashboard_controller.rb
class DashboardController < ApplicationController
# это метод который предоставляет Device. Он определяет авторизован ли User или не очень.
before_action :authenticate_user!
end
config/routes.rb
...
devise_for :users
namespace :dashboard do
# тут указываем роуты которые будут работать в админке.
end
...
Создаем папочки
app/controllers/dashboard - для контроллеров админки.
app/views/dashboard - для вьюх админки.
Создаем файлы
app/assets/javascripts/dashboard.js - JS админки
app/assets/stylesheets/dashboard.css - CSS админки
app/views/layouts/dashboard.html.erb - layout админки
Добавляем новые файлы в config/initializers/assets.rb , что-бы они отдельно компилировались
Rails.application.config.assets.precompile += %w( dashboard.css dashboard.js )
Контроллеры админки обозначаем прмерно так:
class Dashboard::SettingsController < DashboardController
....
end
Ну а дальше в основном всё как обычно.