3
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
由于某些原因,DataMapper不会删除关联的Beta对象。DataMapper一对多删除失败
这是一个错误还是我错过了什么?
一个完整的例子是在此要旨https://gist.github.com/2219479
EDIT:
答案是破坏贝塔
puts @alpha.betas.inspect
puts "Destroyed? #{@alpha.betas.first.destroy}"
puts @alpha.betas.reload
puts @alpha.betas.inspect
答案如果你是游戏回顾一下解决方案作为自己的答案,我会删除后重新加载阿尔法对象我回答。 (请参阅http://meta.stackexchange.com/questions/90263/unanswered-question-answered-in-comments,了解为什么这会有所帮助。)谢谢! – DreadPirateShawn 2013-10-10 06:32:31