1   2   3   4   5   6   7   8   9   10
Ім'я файлу: магіст-Данещук-фініш-АПДЕЙТ.docx
Розширення: docx
Розмір: 1908кб.
Дата: 18.11.2021
скачати
Пов'язані файли:
2 diplom - гаврилов.doc

2.4. Active Admin gem


Адміністративна основа для критично важливих для бізнесу додатків Ruby on Rails. Active Admin - плагін Ruby on Rails для створення інтерфейсів та стилю адміністрування. Він резюмує загальні шаблони ділових додатків, щоб спростити розробникам реалізацію красивих та елегантних інтерфейсів з дуже невеликими зусиллями.

Прекрасний інтерфейс, призначений для звичайного користувача який містить:

  1. Глобальну навігацію. Налаштована глобальна навігація дозволяє створювати корисні інтерфейси адміністратора для вашого бізнесу.

  2. Розділи. створення розділів для швидкої навігації та звітності.

  3. Стилі. Екранні покажчики доступні в багатьох виглядах. За замовчуванням показано таблицею, але Active Admin також підтримує сітки, блоки та вигляд блогу.

  4. API та завантаження. Кожен ресурс, зареєстрований у Active Admin, стає доступним для завантаження в форматах JSON, XML та CSV. Тут можливе налаштування виведення, відповідно до наших вимог.

  5. Аутентифікацію користувачів. Використовуючи конфігурацію Devise в комплекті з active adminнадає можливість використання стандарної або створення власної авторизації, використовуючи надані можливості.

  6. Action items. Додавання кнопок, посиланнь та іншого вмісту у розділі "action items" на кожному екрані.

  7. Фільтри. Дозволяє користувачу фільтрувати ресурси за допомогою пошуку рядків, текстових полів, дат та числових значень.

  8. Розділи бічної панелі. Налаштує розділи бічної панелі за допомогою простого DSL, вбудованого в Active Admin.

Інтерфейс Active Admin був розроблений з нуля зрозумілим для звичайного користувача. Це дозволяє легко розробникам створювати дуже зручні інтерфейси, які дійсно зрозумілі користувачу для користування. Active Admin, створений для продуктивності розробника. Розробник має можливість налаштувати весь інтерфейс практично одним рядком коду гемом.

Встановлення, налаштування середовища та Active Admin

Створюємо додаток для роботи, використовуючи наступну команду у терміналі:

rails new active_admin

Далі відкриваємо Gemfile і додаємо наступні рядки:

gem ‘activeadmin’

gem ‘meta_search’, ‘>= 1.1.0.pre’

Після цього виконуємо команду bundle install для встановлення гемів. Далі завершуємо встановлення Active Admin, наступною командою:

rails generate active_admin:install

Ця команда генерує всі необхідні ініціалізатори для міграції та роботи Active Admin. Також буде створено модель AdminUser для аутентифікації, тому запускаємо rake db:migrate для створення всіх необхідних таблиць бази данихКрім того, додаємо ще один рядок у файл config/environments/development.rb , для активації відправки листів:

config.action_mailer.default_url_options = { :host => ‘localhost:3000’ }

Далі запускаємо rails server і вказуємо свій браузер на localhost: 3000 / admin. Вводимо «admin@example.com» у якості адреси електронної пошти і «пароль». Маємо хороший інтерфейс адміністрування.

Налаштування моделі користувача

Веб-сторінку створено, однак для її редагування, використаємо Active Admin. Каркас використовує так звані «Ресурси». Їх співставляють з моделлю та панелями адміністрування. Згенеруємо їх з допомогою команди у терміналі, щоб Active Admin знав про їх існування:

rails generate active_admin:resource AdminUser

Синтаксис цієї команди простий: просто пишемо назву моделі бази даних в кінці. Так створюємо файл у папці app/admin з іменем admin_users.rb . Далі, після оновлення браузера, бачимо нове посилання у верхній панелі, що має назву «AdminUsers». Таким чином можемо відкрити панель адміністратора AdminUser. За замовчуванням він відображає всі стовпці моделі, тобто виклядає перевантаженим інформацією.

Налаштуємо ресурсиы Active Admin наступним чином. Відкриємо app/admin/admin_users.rb у текстовому редакторі і пишемо:

ActiveAdmin.register AdminUser do

  index do

    column :email

    column :current_sign_in_at

    column :last_sign_in_at

    column :sign_in_count

    default_actions

  end

end


Проаналізуємо:

  • Перший рядок створюється Active Admin для реєстрації нового ресурсуТобто, створюємо посилання меню на верхній панелі.

  • index метод, що дозволяє налаштувати індексне представлення, яке є таблицею, що відображає всі рядки.

  • У блоці, що передається методу index , вказуємо, які саме стовпці будемо відображати у таблиці.

  • default_actions — зручний метод, що створює останній стовпець із посиланнями на деталі, редагування і вилучення рядка.

На останньому етапі слід налаштувати форму. Для налаштування форми, у Active Admin, існує натупний метод:

ActiveAdmin.register AdminUser do

  index do

    # …

  end

 

  form do |f|

    f.inputs «Admin Details» do

      f.input :email

    end

    f.buttons

  end

end

Це код гема Formtastic. Він працює наступним чином:

  • вигляд форми налаштовується методом form та його блоком з аргументом (у нашому випадку f ).

  • f.inputs створює набір полів

  • Для створенн поля, просто викликаємо f.input і передайемо символ з іменем стовпця моделі, тобто «email».

  • f.buttons створює f.buttons «Отправить» та «Отмена».

Існує можливість також додаткового налаштування форми, використовуючи DSL (Domain Specific Language), що міститься у Formtastic.

На останньому кроці роботи з формою (оскільки не використовуємо пароль) слід додати наступний код у модель AdminUser :

after_create { |admin|

 

def password_required?

  new_record?

end


after_create виклик  after_create гарантує, що Devise відправить користувачу посилання для створення нового пароля, а password_required?  - це метод що дозволяє створювати користувача без надання пароля.


1   2   3   4   5   6   7   8   9   10

скачати

© Усі права захищені
написати до нас