说我有一个包含很多回复的帖子文档。当我在内存中删除这些回复时,我希望能够看到这些回复已被删除,尽管没有被删除。让我告诉你:
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的数据库查询的日志?
谢谢!
答案 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