Backend Verwaltung in Ruby on Rails
-
01-07-2019 - |
Frage
Ich mag einen echten quick and dirty administrativen Backend für eine Ruby on Rails bauen Anwendung, die ich in der letzten Minute zu angebracht wurde. Ich habe bei ActiveScaffold sah und schlanke und denken, sie sind beide sehr attraktiv und sie sollte einfach zum Laufen zu bekommen, aber ich verstehe nicht ganz, wie entweder ein als Backend-Administrationsseite einzurichten. Sie entwerfen scheinen wie Standard-Ruby on Rails-Generatoren / Gerüste für die Erstellung von sichtbaren Frontends mit Model-View-Controller-Tabellennamen Korrespondenz zu arbeiten.
Wie Sie eine admin_players Schnittstelle erstellen, wenn die Spieler bereits im Einsatz ist, und Sie möchten zu vermeiden, so viel wie möglich, eines seiner verbundenen Dateien zu beeinträchtigen?
Die Show, bearbeitet und Index der ursprünglichen Ressource für den Administrator nicht usuable.
Lösung
Ich denke, die Namespaces Lösung für das Problem ist, haben Sie hier:
map.namespace :admin do |admin|
admin.resources :customers
end
Welche Routen admin_customers
schaffen, new_admin_customers
, etc.
Dann innerhalb des app/controller
Verzeichnis können Sie ein admin
Verzeichnis haben. In Ihrem Admin-Verzeichnis, erstellen Sie einen Admin-Controller:
./script/generate rspec_controller admin/admin
class Admin::AdminController < ApplicationController
layout "admin"
before_filter :login_required
end
Dann einen Admin-Kunden-Controller erstellen:
./script/generate rspec_controller admin/customers
Und macht diese inhert von Ihrer Application:
class Admin::CustomersController < Admin::AdminController
Dies wird für Ansichten in app/views/admin/customers
aussehen
und wird ein Layout in app/views/layouts/admin.html.erb
erwartet.
Sie können dann mit je nachdem, welche Plugin oder Code, den Sie Ihre Verwaltung tatsächlich gefaellt es, rationalisieren, ActiveScaffold, was ich persönlich resourcecs_controller
verwenden möchten, wie es Ihnen viel Zeit spart, wenn Sie ein
Andere Tipps
Sie überprüfen active_admin unter https://github.com/gregbell/active_admin .
Ich habe ziemlich ausgiebig genutzt Optimiertes.
Stream zum Laufen bringen Sie Ihre eigenen Controller erstellen - so können Sie es eigentlich ganz abgesehen von dem Rest Ihrer Anwendung ausführen, und Sie können es sogar in einem separaten ‚admin‘ Ordnern und Namespace ausführen, die mit .
Hier ist der Kunden-Controller aus einer aktuellen App:
class CustomersController < ApplicationController
layout 'streamlined'
acts_as_streamlined
Streamlined.ui_for(Customer) do
exporters :csv
new_submit_button :ajax => false
default_order_options :order => "created_at desc"
list_columns :name, :email, :mobile, :comments, :action_required_yes_no
end
end
Verwenden Sie https://github.com/sferik/rails_admin .