Ruby on Rails: Beste Möglichkeit, zwei Modelle zusammenzubinden, die einem entsprechen
-
19-09-2019 - |
Frage
Wenn ich zwei Modelle habe, die garantiert eine Eins-zu-Eins-Korrespondenz haben, dh wenn einer erstellt wird, werde ich immer das andere brauchen, und wenn einer gelöscht wird, möchte ich auch das andere loswerden, was ist Der beste Weg, sie zusammenzubinden?
Ich sehe, dass die abhängige Methode has_one/hingaces_to: abhängige Methode um die Löschungen kümmert, aber ich sehe keine ähnliche Methode, um die Schöpfung zu erstellen.
Es scheint viele Möglichkeiten zu geben, wo ich mich bei der Erstellung des Submodells halten könnte. Was ist der beste Ansatz dafür?
Lösung
Sie können das zugehörige Objekt manuell verwenden vor_create zurückrufen:
class Person < ActiveRecord::Base
before_create :create_address
validates_presence_of :address
private
def create_address
address = Address.new
end
end
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow