Rails 3. before_destroy Validierung um zu verhindern, dass das löschen übergeordnete Datensätze

Habe ich Sendungen und Rechnungen.

Rechnung gehört zu dem Versand

Sendung hat einen Rechnung

Wenn der Sendung eine Rechnung, dann wird der Versand sollte nicht mehr gelöscht werden. Ich brauche, um diese bis in den Modellen, denn ich bin mit ActiveAdmin.

Also ich habe das in der Sendung.rb

has_one :invoice
before_destroy :check_for_invoice

private

def check_for_invoice
  unless invoice.nil?
    self.errors[:base] << "Cannot delete shipment while its invoice exists."
  end
end

Aber ich bekomme nur eine gelbe Meldung "Sendung kann nicht gelöscht werden," aber es war in der Tat gelöscht.

Wie kann ich verhindern, dass die Sendung gelöscht wird?

InformationsquelleAutor leonel | 2012-01-11
Schreibe einen Kommentar