使用Mongoid对Ruby进行建模
在使用Mongoid对Ruby类进行建模时,我们会遇到各种关系设置和模型管理的问题。下面将详细介绍相关内容。
1. 关系设置
1.1 类别与书籍关系
在Mongoid中,类别(Category)和书籍(Book)之间的关系设置可能会出现一些特殊情况。例如:
irb> c
=> #<Category _id: 4ef5b48efed0eb8d17000001, _type: nil, name:
"Drama",
book_ids: [BSON::ObjectId('4ef5ab79fed0eb89bf000002')]>
irb> b
=> #<Book _id: 4ef5ab79fed0eb89bf000002, _type: nil, title: nil,
publisher: "Dover Publications",
category_ids = [],
category_name: "Oliver Twist">
可以注意到,在Book对象中,反向关系未设置。也就是说,由于 inverse_of 为 nil ,本应包含类别对象ID的数组为空。只有当使用书籍更新类别对象时, category_ids 才不会更新。如果使用类别更新书籍,即 b.categories << c ,那么Book对象中的 categor
超级会员免费看
订阅专栏 解锁全文
26

被折叠的 条评论
为什么被折叠?



