2010-08-03 8 views
5

Ich hatte gehofft, dass jemand einige Best Practices zum Konfigurieren von Rails-Anwendungen unter Verwendung einer Datenbank vorschlagen könnte (d. H. Persistente Konfigurationseinstellungen in einer Datenbank statt einer flachen Datei). Mein Argument dafür ist, dass ich eine Anwendung habe, die auf mehreren Servern läuft, und einige Konfigurationseinstellungen, die ziemlich dynamisch sind, und ich würde sie ändern wollen, ohne auf jedem Server eine Änderung vornehmen zu müssen.Die beste Methode zur Verwaltung der Rails-Anwendungskonfigurationseinstellungen in einer Datenbank?

In anderen Sprachen habe ich gesehen, dass dies mit einer einfachen Konfigurationstabelle (wie Name/Wert-Paare) und einem Singleton, die die Konfigurationsdaten verfügbar macht und regelmäßig aktualisiert wird. Gibt es einen ähnlichen oder besseren Weg, dies mit Rails zu tun?

Vielen Dank im Voraus.

+0

Auf der Suche nach Singleton Referenzen für Ruby/Rails, ich habe über viele Artikel (einschließlich einiger auf SO), die die Probleme mit dem Singleton-Muster hervorheben. Ich bin nicht mit dieser Implementierung verheiratet - meine Hauptsorge ist, dass ich die Konfiguration an einem einzigen Ort aktualisieren kann und sie für alle Instanzen der Anwendung wirksam werden lässt. Ich würde es vorziehen, wenn die beweglichen Teile nicht mit dem Scripting von Dateiänderungen über mehrere Server verbunden wären, so dass eine Datenbank meine natürliche Wahl war. Jede Lösung, die mich davor bewahrt, die Konfiguration überall dort aktualisieren zu müssen, wo die App läuft, ist für mich in Ordnung. –

Antwort

1

Nicht die schönste Lösung, aber eine Sache, die wir für unsere internen Apps gemacht haben, ist ein 'config' Feld, das einfach ein Textfeld ist, das einen serialisierten Hash enthält. Dann deserialisieren wir die Last von der db.

+0

Danke für den Vorschlag. Verwenden Sie das ApplicationHelper-Modul zum Abfragen/Deserialisieren/Bereitstellen von Getter-Typ-Methoden für den Konfigurationshash? Oder gibt es einen besseren Ansatz? –

Verwandte Themen