Ruby DataMapper一对多删除失败

Ruby DataMapper一对多删除失败,ruby,associations,datamapper,ruby-datamapper,Ruby,Associations,Datamapper,Ruby Datamapper,从编辑的问题正文中复制答案,以便从“未回答”筛选器中删除此问题: 答案是在摧毁Beta后重新加载Alpha对象 class Alpha include DataMapper::Resource property :id, Serial property :name, String has n, :betas end class Beta include DataMapper::Resource property :id, Serial property :n

从编辑的问题正文中复制答案,以便从“未回答”筛选器中删除此问题:

答案是在摧毁Beta后重新加载Alpha对象

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
puts @alpha.betas.inspect
puts "Destroyed? #{@alpha.betas.first.destroy}"
puts @alpha.betas.reload
puts @alpha.betas.inspect

~answer per

如果你想重述解决方案作为自己的答案,我将删除我的答案。(请参阅详细说明为什么这会有帮助。)谢谢!
puts @alpha.betas.inspect
puts "Destroyed? #{@alpha.betas.first.destroy}"
puts @alpha.betas.reload
puts @alpha.betas.inspect