Панель администратора с низким кодом и механизм бизнес-аналитики Rails (без DSL — настраивается из пользовательского интерфейса) .
? Демо-приложение | ? Обзор возможностей | Про
Добавьте эту строку в Gemfile вашего приложения:
gem 'motor-admin'
И затем выполните:
$ bundle install
Создайте и запустите миграцию:
$ rails motor:install && rake db:migrate
Все в панели администратора можно настроить с помощью интуитивно понятного пользовательского интерфейса настроек, который можно открыть с помощью значка в правом верхнем углу.
Данные, отображаемые на странице ресурса, можно полностью настроить с помощью SQL-запросов и информационных панелей, прикрепленных к ресурсу в виде вкладки. Обычно запросы, используемые для отображения данных ресурса, должны содержать переменную {{resource_name_id}}
.
Узнайте больше о настройке ресурсов
Пользовательские действия с ресурсами можно добавлять с помощью вызова метода Active Record, конечной точки API или пользовательских форм. Кроме того, можно переопределить действия по созданию/обновлению/удалению по умолчанию.
Любой метод или атрибут модели ActiveRecord можно открыть в панели администратора, добавив новый столбец с именем, соответствующим имени метода из модели ресурса:
class Customer < ApplicationRecord
has_many :orders
def lifetime_value
orders . sum ( & :total_price )
end
end
Значения из полей формы можно использовать в пути API через синтаксис {field_name}
: /api/some-endpoint/{resource_id}/apply
.
Узнайте больше о конструкторе пользовательских форм
Запросы могут включать встроенные переменные с помощью синтаксиса {{variable}}
(усы). Синтаксис {{#variable}} ... {{/variable}}
позволяет решить, следует ли включать в запрос условия внутри области видимости.
Данные SQL-запроса могут быть представлены в виде: таблицы, числа, линейной диаграммы, гистограммы, круговой диаграммы, воронки, уценки.
SQL-запросы могут быть организованы в информационные панели для создания удобного представления данных.
Данные запроса можно периодически отправлять по электронной почте с помощью функции оповещений. Интервал отправки оповещений по электронной почте можно указать на естественном языке, например, every day at midnight
, every Monday at 8 PM
, every weekday at 6AM and 6PM
, every minute
.
Адрес отправителя можно указать с помощью переменной среды MOTOR_ALERTS_FROM_ADDRESS
.
Поиск разведки можно открыть с помощью кнопки в правом верхнем углу или с помощью сочетания клавиш Cmd + K.
Motor Admin позволяет устанавливать разрешения на уровне строк и столбцов через cancan gem. Разрешения пользовательского интерфейса администратора должны быть определены в файле app/models/motor/ability.rb
в классе Motor::Ability
. См. руководство администратора Motor и документацию CanCan, чтобы узнать, как определить права пользователя.
Motor Admin по умолчанию настроен на выполнение загрузки к поставщику, который вы настроили в файле storage.yml
для Active Storage. Если вы используете большие загрузки в Motor Admin, вам необходимо включить прямую загрузку, установив следующую переменную ENV.
MOTOR_ACTIVE_STORAGE_DIRECT_UPLOADS_ENABLED=true
Примечание. На данный момент это позволит осуществлять прямую загрузку по всему миру.
Motor Admin может использовать ключи Rails ActiveRecord i18n для рендеринга переводов ресурсов:
es :
activerecord :
models :
customer :
one : Cliente
other : Clientes
attributes :
customer :
name : Nombre
scopes :
customer :
enabled : Activado
Все конфигурации админ-панели автоматически сохраняются в файле config/motor.yml
. Рекомендуется включить этот файл в репозиторий git приложения, чтобы всегда синхронизировать конфигурации панели администратора в различных локальных и удаленных средах.
Можно синхронизировать локальные конфигурации панели администратора разработки с удаленным производственным приложением с помощью задачи rake motor:sync
:
MOTOR_SYNC_REMOTE_URL=https://remote-app-url/ MOTOR_SYNC_API_KEY=secure-random-string rake motor:sync
Панель администратора можно защитить с помощью «Базовой аутентификации», указав переменные среды MOTOR_AUTH_USERNAME
и MOTOR_AUTH_PASSWORD
.
Альтернативно, его можно защитить с помощью devise или любой другой библиотеки аутентификации, используемой приложением:
authenticate :admin_user do
mount Motor :: Admin => '/admin'
end
Запустите сервер разработки веб-пакетов:
yarn install && yarn serve
Настройка базы данных разработки:
rake app:db:create && rake app:db:setup
Запустите пример приложения в режиме разработки:
MOTOR_DEVELOPMENT=true rails s
Motor Admin лицензируется по лицензии MIT.