Was ist der beste praktische Weg, um einem vorhandenen mittelgroßen Ruby on Rails-Projekt einen wichtigen Merkmal/Service hinzuzufügen?

StackOverflow https://stackoverflow.com/questions/2494039

Frage

Ich habe ein bestehendes Projekt in Ruby auf Rails. Es ist eine Art Backend -Lösung für die bevorstehende wichtige Ergänzung des Projekts. Was ich meine, ist, dass es derzeit für die Administratoren dient und bereits viele Funktionen und tatsächliche Schienendateien enthält.

Jetzt plane ich, das neue "öffentliche" "öffentliche" hinzuzufügen, der einen Teil der App in Rails gegenübersteht, und ich frage mich, was die besten Lösungen sein könnten. Ich könnte mir die beiden folgenden möglichen vorstellen, aber ich würde es wirklich schätzen, wenn jemand, der dies erlebt hatte, mich in die richtige Richtung bringen könnte.

  • Erstellen Sie eine neue öffentliche Web -App mit den gleichen Ressourcen, die die Backend -Web -App verwendet hat - irgendwelche Vor- und Nachteile?
  • Fügen Sie einfach die neuen Funktionen zur vorhandenen Backend -Web -App hinzu - irgendwelche Vor- und Nachteile? (Ich bin sicher, dass diese Option die App -Dateien ziemlich groß wird, aber sollte es mich interessieren oder nicht?

Ich habe vorher nur kleine Web -Apps in Rails gemacht und dies ist mein erster großer. Bitte, jeder, Ihre Antworten werden sehr geschätzt.

Vielen Dank.

War es hilfreich?

Lösung

Sie haben bereits eine Menge Geschäftslogik in den Modellen. Daher bedeutet das Starten einer neuen Anwendung das Duplizieren dieser Logik, die ein Wartungsalptraum ist.

Ich würde einfach die öffentliche Teile zu Ihrem vorhandenen Projekt hinzufügen. Ich würde mir keine Sorgen machen, dass die Anwendung groß wird. Ich habe an einer sehr großen Rails -Anwendung gearbeitet und es funktioniert gut. (177 Tabellen/Modelle, 23+ Controller usw.)

Stellen Sie einfach sicher, dass Sie eine gute Möglichkeit erstellen, die internen Teile von den externen Teilen zu trennen, indem Sie dem Benutzermodell ein Feld hinzufügen, um anzuzeigen, ob sie intern oder extern sind, und dann als Teil der Authentifizierung, wobei der Zugriff auf die inneren Teile eingeschränkt wird.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top