Ich baue eine JSON-only-Anwendung , es ist im Grunde eine schlankere Rails, mit weniger Middleware und weniger Module. Dies ist eine Anwendung, die in Rails 4 erstellt wird.
Ich möchte eine einfache App entwickeln, die die Daten in der Datenbank für die Haupt-App verwalten kann. Dazu möchte ich Active Admin oder Rails Admin . Aber beide Optionen verwenden irgendwie die zugrundeliegenden Modelle und ihre Validierungen, Anforderungen und dergleichen, um darauf aufzubauen.
Dies bedeutet, dass ich mindestens die Modelle zwischen der Hauptanwendung und der RailsAdmin-Anwendung teilen muss.
Wie würde ich das am besten machen? Gibt es eine gute Anleitung, wie man eine Administrationsanwendung in einer separaten App neben der Hauptanwendung erstellt, anstatt sie zu integrieren?
Als Nebenbemerkung: Ein weiterer guter Grund, den Administrator in einer separaten Anwendung von der Haupt-App zu halten, aber in einer gemeinsam genutzten Datenbank, ist die Vielzahl von Abhängigkeiten, ein Juwel wie ActiveAdmin kommt mit.
Beachten Sie auch, dass ich nicht nur daran interessiert bin, Admin auf einer anderen Domain oder einem anderen Server zu betreiben, sondern hauptsächlich, um die App schlank und fokussiert zu halten. Und um die Abhängigkeiten, mit denen etwas wie ActiveAdmin kommt, aus meiner Hauptanwendung herauszuhalten.
Fußnoten:
Praktischer: Ich habe keine Devise (es ist eine JSON-API, also mit Token authentifiziert), habe keine Ansichten oder Template-Engine. Kein Formtastic, keine Büroklammer, Rmagic, Kminari (Pager) und so weiter und so weiter. All dies wird zu meiner App hinzugefügt, wenn ich "nur ein Admin" ziehe.
Dieser Blogbeitrag beschreibt einen interessanten Ansatz: Ссылка
Sie verwenden eine fast leere App als Container und mounten ihre eigentlichen Apps als Rails-Engines.
Haben Sie die Auswirkungen des Hinzufügens von Tools wie ActiveAdmin auf die Geschwindigkeit Ihrer Rest-API gemessen? Wenn nicht, klingt das für mich nach einer vorzeitigen Optimierung.
Wenn die API-Geschwindigkeit tatsächlich Auswirkungen auf eine geladene, aber nicht verwendete Bibliothek hat, können Sie mehrere Anwendungen erstellen und die Modelle in einem git-Submodul freigeben.
Tags und Links ruby-on-rails activeadmin rails-admin