2 Stimmen

benutzerdefinierte Eigenschaften in Rails

Ich habe gerade mit Rails begonnen und habe eine grundlegende Frage.

Ich muss Kundeneigenschaften (wie E-Mail-ID usw.) hinzufügen, damit die Rails-App sie zur Laufzeit lesen kann. Wie kann ich dies tun?

Kann ich sie zu development.rb hinzufügen und wenn ja, wie kann ich sie lesen?

In Java hätte ich eine Eigenschaftsdatei erstellt und sie aus meiner Anwendung gelesen.

Ich danke Ihnen,

Feuerwehrauto

2voto

mylescarrick Punkte 1680

Versuchen Sie, die Konfigurationseinstellungen zu speichern und zu laden?

Es ist einfach, Konfigurationseinstellungen in einer yaml-Datei zu speichern und sie mit Initialisierern zu laden - viel besser, als die Umgebungsdateien zu überladen.

Dieser Railscast: http://railscasts.com/episodes/85-yaml-configuration-file zeigt Ihnen wie.

0voto

AdamB Punkte 3069

Ich bin mir nicht sicher, was Sie genau fragen. Ich vermute, Sie wollen einen anfänglichen Datensatz in der Datenbank, auf den Sie zugreifen können, wenn Sie die Anwendung tatsächlich ausführen? Wenn das so ist, sehen Sie sich diese andere SO-Frage an Wie (und ob) die Schienenanwendung mit Anfangsdaten zu füllen ist

0voto

John Hyland Punkte 6765

Es ist nicht ganz klar, was genau Sie vorhaben, aber es klingt so, als hätten Sie ein Modell mit dem Namen "Kunde", dem Sie einige Attribute hinzufügen möchten, z. B. E-Mail-Adresse, ID usw.

Mit Active Record müssen Sie im Grunde nichts Besonderes tun, um ein einfaches Attribut (wie eine Zeichenkette oder eine ganze Zahl) hinzuzufügen. Fügen Sie einfach ein Feld mit dem Namen "email_address" zu Ihrer Kundentabelle in der Datenbank hinzu, und alle Ihre Kundenobjekte erhalten automatisch die Methoden "email_address" und "email_address=" (ganz zu schweigen davon, dass die Kundenklasse selbst "find_by_email_address" und andere nützliche Methoden erhält). Wenn Sie ein Feld hinzufügen, das ein anderes Modell enthält, ist es etwas komplizierter - fügen Sie der Tabelle ein Feld "something_id" und der Klassendefinition eine Assoziation hinzu (z. B. "has_one :something"). Weitere Informationen finden Sie in der ActiveRecord api-Dokumentation.

Sie müssen kein bestimmtes Mittel verwenden, um das Feld zu Ihrer Datenbank hinzuzufügen, aber Sie können Folgendes in Betracht ziehen Migrationen . Migrationen sind eine bequeme Möglichkeit, Ihr Schema über mehrere Rechner hinweg zu versionieren und zu synchronisieren.

Wenn Sie gerade dabei sind, Ihr Modell zu erstellen, gibt es eine Abkürzung, die in den Generator eingebaut ist, um Felder hinzuzufügen. Anstatt einfach zu sagen...

script/generate scaffold customer

...kann man sagen...

script/generate scaffold customer email:string name:string badge_number:integer

...und es werden alle entsprechenden Felder in Ihrer Migration generiert und zu Ihren generierten Ansichten hinzugefügt.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X