在mongoid中没有相关的相关文件

时间:2012-10-10 17:10:42

标签: ruby-on-rails mongodb mongoid

说我有一个包含很多回复的帖子文档。当我在内存中删除这些回复时,我希望能够看到这些回复已被删除,尽管没有被删除。让我告诉你:

class Post
    has_many :replies, class_name: 'PostReply', autosave: true
end

post.replies.count
 => 3
post.replies = []
 => [] 
post.replies.last 
 => #<Post...>
# (also note that at this point, #count will return 3 and #length will return 0.)

我还希望在打开身份映射时更改此行为。例如,最后一行将使用内存中的回复,并返回nil。

我的想法和错误是什么?假设在这里?我怎样才能获得理想的行为?还有一个额外的问题,我在哪里可以看到显示来自IRB的数据库查询的日志?

谢谢!

1 个答案:

答案 0 :(得分:0)

通过添加反向关系解决:

class Post
  has_many :replies, class_name: "PostReply", autosave: true, inverse_of: :post
end

class PostReply
  belongs_to :post, inverse_of: :replies
end