首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法销毁父对象

无法销毁父对象
EN

Stack Overflow用户
提问于 2012-10-13 06:14:16
回答 1查看 115关注 0票数 1

我有一个庞大而复杂的用户模型,看起来像这样:

代码语言:javascript
运行
复制
class User

  class Link
    include DataMapper::Resource
    property :id, Serial, :key => false

    belongs_to :follower, :model => 'User', :key => true
    belongs_to :followed, :model => 'User', :key => true
  end

  include DataMapper::Resource

  property :id, Serial
  property :username, String, :required => true

  has n, :links_to_followers, :model => 'User::Link', :child_key => [:followed_id]
  has n, :links_to_followed, :model => 'User::Link', :child_key => [:follower_id]
  has n, :comments
  has 1, :profile_image
end

我的问题是Datamapper不让我销毁它。我认为这是Datamapper不想销毁具有未销毁的子对象的对象的结果,所以我放入了一个方法destroy_deep,该方法在links_to_followers、links_to_followed、底层注释和配置文件图像上调用destroy (这些都被正确销毁)。

然而,即使我在那之后调用user.destroy,用户也不会被销毁。没有任何类型的错误消息。有没有我遗漏的某种级联删除命令?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-19 06:36:00

我解决了这个问题。

显然,为了调试销毁,object.errors是没有用的。取而代之的是跟踪异常,如:

代码语言:javascript
运行
复制
begin
  u.destroy
rescue Exception => e
  p e
end

解决方案是其中一个子字段没有映射回User。我有一个属于User的类,但是User没有n个赞。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12867828

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档