Wie man ein Singleton-Modell implementiert

Ich habe eine Site in Schienen und möchte standortweite Einstellungen haben. Ein Teil meiner App kann den Administrator per SMS benachrichtigen, wenn ein bestimmtes Ereignis eintritt. Dies ist ein Beispiel für eine Funktion, die ich über die standortweiten Einstellungen konfigurieren möchte.

So dachte ich, ich sollte ein Setting-Modell haben oder so. Es muss ein Modell sein, da ich has_many: Kontakte für die SMS-Benachrichtigung haben möchte.

Das Problem ist, dass es für das Einstellungsmodell nur einen Beitrag in der Datenbank geben kann. Also habe ich überlegt, ein Singleton-Modell zu verwenden, aber das verhindert nur, dass ein neues Objekt erstellt wird, oder?

Würde ich noch Get- und Setter-Methoden für jedes Attribut wie folgt erstellen müssen:

def self.attribute=(param)
  Model.first.attribute = param
end

def self.attribute
  Model.first.attribute
end

Ist es vielleicht nicht empfehlenswert, Model.attribute direkt zu verwenden, aber immer eine Instanz davon zu erstellen und diese zu verwenden?

Was soll ich hier machen?

Antworten auf die Frage(24)

Ihre Antwort auf die Frage