class Alpha
include DataMapper::Resource
property :id, Serial
property :name, String
has n, :betas
end
class Beta
include DataMapper::Resource
property :id, Serial
property :name, String
belongs_to :alpha
end
# Create an Alpha with two Betas
@alpha = Alpha.new(:name => 'A')
@alpha.betas << Beta.new(:name => 'B')
@alpha.betas << Beta.new(:name => 'C')
@alpha.save
puts @alpha.betas.inspect
puts "Destroyed? #{@alpha.betas.first.destroy}"
puts @alpha.betas.inspect
Aus irgendeinem Grund löscht DataMapper das zugeordnete Beta-Objekt nicht.DataMapper Eins-zu-viele-Löschung fehlgeschlagen
Ist das ein Fehler oder fehlt mir etwas?
Ein komplettes Beispiel ist in diesem Kern https://gist.github.com/2219479
EDIT:
Die Antwort ist das Alpha-Objekt nach der Zerstörung der Beta
puts @alpha.betas.inspect
puts "Destroyed? #{@alpha.betas.first.destroy}"
puts @alpha.betas.reload
puts @alpha.betas.inspect
Wenn Sie mitspielst rekapitulieren die Lösung, wie Sie Ihre eigene Antwort erneut zu laden, ich werde mein löschen Antworten. (Siehe http://meta.stackexchange.com/questions/90263/unanswered-questions-answered-in-comments zur Erläuterung, warum dies hilfreich ist.) Danke! – DreadPirateShawn