Admin-sektionen är en vanlig modul för de flesta applikationer. För Rails-applikationer har vi en pärla som heter Active Admin. Det kan användas för att skapa applikationer från början till administratörsgränssnitt med liten ansträngning.
Introduktion
Det är ett ramverk där alla administratörsuppgifter kan hanteras. Det skapar det vackra admingränssnittet som ger dig tillgång till att hantera data och det kan enkelt anpassas.
Hur installerar och ställer man in?
First I will be creating three modules for my Rails 5 application.
Artist, Producer and Movie
Relationer: artist.rb har_många :filmer producent.rb har_många :filmer film.rb tillhör_till :konstnären tillhör :producent
Låt oss lägga till activeadmin till gemfilen och installera paketet.
gem 'devise' gem 'activeadmin', github: 'activeadmin'-paketinstallation
Det finns några beroenden du behöver lägga till för Rails 5. Lägg till pärlan nedan i gemfilen och buntinstallera igen.
gem 'inherited_resources', github: 'activeadmin/inherited_resources'
Kör generatorn för att installera aktiv admin. Den skapar alla administrativa filer under app/admin-katalogen. Enhetspärla som används av aktiv administratör för autentisering.
rails g active_admin:install
Din terminal uppmanar dig att vissa inställningar måste konfigureras manuellt när du körde ovanstående kommando.
ActiveAdmin-autentisering
Requires two settings to authenticate and use current user in the application.
To force controller methods to authenticate
config.authentication_method = :authenticate_admin_user!
För att komma åt nuvarande användare från metoderna
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. Du kan logga in genom att använda följande inloggningsuppgifter.
Användarnamn: [email protected] Lösenord: lösenord
Admin-instrumentpanelen visas när du har loggat in. Toppmenyn visar listan över modeller registrerade med aktiv administratör. För närvarande har vi bara en modell AdminUser. Här kan du skapa eller redigera administratörsinformation.
Anpassa vyer
Här behöver vi registrera våra modeller med aktiv admin.
rails genererar active_admin:resource Artistskenor genererar active_admin:resource Producer rails genererar active_admin:resource Film
Innan det kan vi lägga till lite data till din db.
Seeds.rb a1 = Artist.create!(namn: 'artist-1') a2 = Artist.create!(namn: 'artist-2') p1 = Producer.create!(namn: 'producent-1') p2 = Producer.create!(namn: 'producer-2') Movie.create!(namn: 'movie-1', släppt_år: 2014, regissör: 'director-1', beskrivning: 'Lorem Ipsum är helt enkelt dummy text av trycket och sättindustri.', artist: a1, producent: p1)
Kör applikationen, du kan se seedningen i gränssnittet och du kan redigera och ta bort data.
Anpassning
Som standard kommer resursen att visas i den globala navigeringen. Det kan inaktiveras om det inte krävs i menyn.
ActiveAdmin.register Film gör-menyn falskt slut
Byt namn på menyetiketten med den önskade etiketten.
ActiveAdmin.register Movie do-menyetikett: 'Lista över filmer' slut
Menyprioritet kan ställas in av
ActiveAdmin.register Film gör menyprioritet: 4 slut
Som standard alla kolumner som används för diaplay. Du kan lista de obligatoriska kolumnerna i indexmetoden som användes för att visa. Här tog jag bort tidsstämpelkolumner från admin/movie.rb
index do kolumn :namn kolumn :beskrivning kolumn : releaseår kolumn : regissör kolumn : producent kolumn : artist åtgärder slut
Du kan anpassa kolumnnamnet genom att ange kolumnnamnet före fältet i indexmetoden.
kolumn 'Förnamn', :name
Till höger på sidan kan vi hitta filtersektionen. Som standard upptäcker aktiv admin tillhörighetsrelationer. Vi kan anpassa filtersektionen.
filter :producer, :as => :check_boxes
filter :artist, :as => :check_boxes
CSV-anpassning
Av dafult kommer aktiv admin att ladda ner alla visade kolumner till csv. Här kan vi anpassa till önskade kolumner med CSV-inställningarna.
ActiveAdmin.register Movie do csv force_quotes: true, col_sep: ';', column_names: false do column :name column(:artist) { |movie| movie.artist } kolumn(:producent) { |film| movie.producer } slut slut
Även globalt kan vi konfigurera inställningar för CSV
# config/initializers/active_admin.rb
# Ställ in CSV-byggarseparatorn
config.csv_options = { col_sep: ';' }
# Tvinga fram citattecken
config.csv_options = { force_quotes: true }