0

我有 2 个对象;

板子.rb

class Board
  include Mongoid::Document
  has_many :posts, :autosave => true, dependent: :destroy
  field :collected, :type => Array, :default => []
end

post.rb

class Post
  include Mongoid::Document
  belongs_to :board
end

除了默认创建的关系之外,我还想创建一个字段来存储或引用父对象 ( Board ) 中的帖子。

是否可以在不需要复制对象的情况下创建引用?以及默认创建的关系?最好的方法是什么?

创建一个数组字段(collected field)并输入所有帖子的 id 还是有更好的方法?

我不想要重复的对象,我只想引用原始对象,然后我想用where查询或find查询找到这个对象。

我该怎么做?

谢谢!

4

1 回答 1

0

Board对象将响应posts一个数组。如果您想要一个仅包含引用对象的 ID 的数组,请调用:board.posts.collect {|p| p.id}。如果您需要经常使用它,您可以在模型中定义一个返回它的方法。

于 2012-06-18T08:51:58.783 回答