Ich versuche, ein Feld in meinem Modell zu erstellen, das zwei andere Felder verknüpft. Ich möchte, dass dies außerhalb des Controller-Codes geschieht, da dieses Feld bei vielen Gelegenheiten verwendet wird.Schienen erstellen und verwenden berechnetes Feld
Ich habe den Code unten, aber es funktioniert nicht.
Im Program Controller:
@test = Program.pluck(:program_detail)
in dem Programm Modell:
...
has_many :versions
private
def program_detail
[owner, name].join(' - ')
end
...
** Anmerkung I mongoid Bedeutung verwende ich nicht brauchen, Migrationen zu verwenden, sondern eine Rails Active Antwort wird auf jeden Fall genug sein, um mich zum Laufen zu bringen.
So erstellen eine neue berechnete Spalte ist die beste Praxis nur in der Steuerung auf dem erstellen Aktion zu tun? – HoosierCoder
Warum in der Steuerung? Die Verkettungslogik befindet sich im Modell. Jetzt können Sie die Methode 'program_detail' überall verwenden. Vergiss nicht, es öffentlich zu machen. – chumakoff
Auf jeden Fall in das Modell, das ist der richtige Ort. – Iceman