Ich habe 3 Modelle. Für die Ex:Löschungen werden nicht in Assoziationen weitergegeben
a, b, ca:
has_many: bs
b:
belongs_to: a
belongs_to: c
c:
has_many: bs
so, jetzt das Problem ist, wenn ich einen Datensatz in c
löschen, die mit b
zugeordnet ist, wird die Änderung in b
reflektiert wird, aber nicht in a
.
Erwartete Änderung ist a.b.c
Wert ist null, da c
gelöscht wird. Aber es ist nicht null und zeigt immer noch den Wert wie früher.
Wenn ich den bestimmten Datensatz in b manuell aktualisiere und den Wert a.b.c
überprüfe, ist es null.
Also, gibt es eine Lösung, um das zu beheben? etwas wie neu laden oder aktualisieren?
Danke.
PS: Ich verwende Activescaffolding, um Aktionen auszuführen.
LÖSUNG:
model c:
has_many: bs, :dependent => :nullify
Above Linie fixiert mein Problem. : D
has_many: bs, abhängig: zerstören –
abhängig: zerstören - bedeutet dies nicht den gesamten Datensatz löschen, statt den Wert zunichte macht? – Mounika
betrachten Polymorphismus - http://guides.rubyonrails.org/association_basics.html#polymorphic-associations – marmeladze