Ich habe das folgende SzenarioRails Destroy All Nested Verbände
class Company < ActiveRecord::Base
has_many :depots, inverse_of: :company, :dependent => :destroy
has_many :users, inverse_of: :company, :dependent => :destroy
has_many :products
end
class Depot < ActiveRecord::Base
has_many :products, :dependent => :destroy
has_many :zones, :dependent => :destroy
belongs_to :company
end
class Product < ActiveRecord::Base
belongs_to :depot
belongs_to :company
end
class Zone < ActiveRecord::Base
belongs_to :depot
end
class User < ActiveRecord::Base
belongs_to :company, , inverse_of: :users
end
## and zone has_many locations which further has some associated models.
Ich möchte alle zugehörigen Modelle mit der Firma löschen, ohne sie einzeln aufrufen. Meine abhängige Zerstörung funktioniert nicht und wenn ich versuche, die Firma zu löschen, sind die Produkte immer noch da. Ich habe versucht zu ersetzen
dependent: :destroy #to delete_all
aber kein Glück. Wie kann ich alle verschachtelten Objekte mit einem einzigen Aufruf von destroy an die Firma löschen?
bearbeiten
kann ich
Company.reflect_on_all_associations(:has_many)
aufrufen und löschen Sie alle Verbände eins nach dem anderen, aber ich möchte nicht für diesen Ansatz gehen. Irgendeine Hilfe??
Bitte senden Sie das Ergebnis der folgenden MySQL-Abfrage: "SHOW CREATE TABLE Unternehmen" – Bustikiller
Entschuldigung, ich benutze Postgres als meine DB. –