首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mongoid -单向引用

Mongoid -单向引用
EN

Stack Overflow用户
提问于 2011-08-10 17:50:10
回答 1查看 2.9K关注 0票数 2

在mongoid中可以做单向引用吗?

我想做一些类似的事情:

代码语言:javascript
复制
class User
  include Mongoid::Document
  include Mongoid::Timestamps

  has_many :blogs, :class_name => "Blog", :inverse_of => :editor
  has_one :active_blog, :class_name => "Blog", :inverse_of => :active_users
end

和博客模型:

代码语言:javascript
复制
class Blog
  include Mongoid::Document
  include Mongoid::Timestamps

  belongs_to :editor, :class_name => "User", :inverse_of => :blogs

end

因此,基本上,我希望用户存储一个引用当前正在编辑/发布到的博客的对象id。我不需要博客知道活跃的用户,只需要相反的方式。

似乎最规范的方法是在用户上使用“belongs_to”,在博客上使用“has_many”。这是可行的,但并不理想,因为它并没有真正在语义上表达两个模型之间的关系。

我是第一次接触Mongoid,还没有找到更好的答案。有没有更好的方法来建立这种关系?

非常感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-08-12 18:00:23

如果你甚至不想在博客端创建访问器active_user,你可以拥有:

代码语言:javascript
复制
class User
  belongs_to :active_blog, :class_name => "Blog", :inverse_of => nil
end

另一方面,has_ me /has_one和belongs_to在我看来完全没问题。它不会在博客中存储user_ids,博客不需要知道活跃用户,除非你决定它应该知道,并从博客端开始使用访问器。

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

https://stackoverflow.com/questions/7008805

复制
相关文章

相似问题

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