La sección de administración es un módulo común para la mayoría de las aplicaciones. Para aplicaciones Rails tenemos una joya llamada Active Admin. Esto se puede utilizar para crear aplicaciones desde cero para interfaces de administración con poco esfuerzo.
Introducción
Es un marco donde se pueden gestionar todas las tareas administrativas. Crea una hermosa interfaz de administración que le brinda acceso para administrar los datos y se puede personalizar fácilmente.
¿Cómo instalar y configurar?
First I will be creating three modules for my Rails 5 application.
Artist, Producer and Movie
Relaciones: artista.rb tiene_muchos :películas productor.rb tiene_muchos :películas película.rb pertenece_a :artista pertenece_a :productor
Agreguemos activeadmin al archivo gem y realicemos la instalación del paquete.
gem 'idear' gem 'activeadmin', github: instalación del paquete 'activeadmin'
Hay algunas dependencias que debe agregar para Rails 5. Agregue la siguiente gema al archivo gem y realice la instalación del paquete nuevamente.
gema 'recursos_heredados', github: 'activeadmin/recursos_heredados'
Ejecute el generador para instalar el administrador activo. Crea todos los archivos administrativos en el directorio app/admin. Gema del dispositivo utilizada por el administrador activo para la autenticación.
rieles g active_admin: instalar
Su terminal le indica que algunas configuraciones deben configurarse manualmente una vez que ejecutó el comando anterior.
Autenticación de administrador activo
Requires two settings to authenticate and use current user in the application.
To force controller methods to authenticate
config.authentication_method =:authenticate_admin_user!
Para acceder al usuario actual desde los métodos
config.current_user_method =:current_admin_user
Both above settings can be set to false to turn off authentication.
Start the rails server and navigate to the http://localhost:3000/admin. Puede iniciar sesión utilizando las siguientes credenciales.
Nombre de usuario: [email protected] Contraseña: contraseña
El panel de administración se mostrará una vez que inicie sesión correctamente. El menú superior muestra la lista de modelos registrados con administrador activo. Por ahora solo tenemos un modelo AdminUser. Aquí puede crear o editar información de administrador.
Personalización de vistas
Aquí necesitamos registrar nuestros modelos con administrador activo.
Rails generan active_admin:resource Artist Rails generan active_admin:resource Productor Rails genera active_admin:resource Película
Antes de eso, agreguemos algunos datos a su base de datos.
Seeds.rb a1 = Artista.create!(nombre: 'artista-1') a2 = Artista.create!(nombre: 'artista-2') p1 = Productor.create!(nombre: 'productor-1') p2 = Producer.create!(nombre: 'producer-2') Movie.create!(nombre: 'movie-1', año_estreno: 2014, director: 'director-1', descripción: 'Lorem Ipsum es simplemente texto ficticio de la impresión y tipografía.', artista: a1, productor: p1)
Ejecute la aplicación, podrá ver los datos sembrados en la interfaz y podrá editar y eliminar los datos.
Personalización
De forma predeterminada, el recurso se mostrará en la navegación global. Se puede desactivar si no es necesario en el menú.
ActiveAdmin.register Película hacer menú final falso
Cambie el nombre de la etiqueta del menú con la etiqueta requerida.
ActiveAdmin.register Etiqueta del menú Hacer película: Fin de 'Lista de películas'
La prioridad del menú se puede establecer mediante
ActiveAdmin.register Película hacer prioridad del menú: 4 fin
De forma predeterminada, todas las columnas utilizadas para mostrar. Puede enumerar las columnas requeridas en el método de índice que solía mostrar. Aquí eliminé las columnas de marca de tiempo de admin/movie.rb
índice hacer columna :nombre columna :descripción columna :año_de_estreno columna :director columna :productor columna :artista acciones fin
Puede personalizar el nombre de la columna especificando el nombre de la columna antes del campo en el método de índice.
columna 'Nombre', :nombre
En el lado derecho de la página podemos encontrar la sección de filtros. De forma predeterminada, el administrador activo detecta las relaciones de pertenencia a. Podemos personalizar la sección de filtros.
filtrar :productor, :as => :check_boxes
filtrar :artista, :as => :check_boxes
Personalización de archivos CSV
Por dafult, el administrador activo descargará todas las columnas mostradas en csv. Aquí podemos personalizar las columnas requeridas con la configuración CSV.
ActiveAdmin.register Película hacer csv force_quotes: verdadero, col_sep: ';', nombres_columna: falso hacer columna :nombre columna(:artista) { |película| película.artista } columna(:productor) { |película| movie.producer } fin fin
Incluso globalmente podemos configurar ajustes para el CSV.
# configuración/inicializadores/active_admin.rb
# Establecer el separador del generador CSV
config.csv_options = { col_sep: ';' }
# Forzar el uso de comillas
config.csv_options = {force_quotes: verdadero}