Mongoid填写引用的id

时间:2012-10-30 19:13:51

标签: ruby-on-rails ruby autocomplete mongoid

我正在为我的rails应用程序构建自动完成功能。输入表单在keypress上进行ajax调用,然后在rails

中调用此搜索方法
def search
    search = Regexp.new(params[:name])
    @users = User.where(:name=>search)

    render :json => @users
  end

一切正常......但是,用户有一堆字段是其他集合的外键。

例如,其中一个字段用于rolify。 role_ids看起来像"role_ids" : [ObjectId("508eee5afa0d00b818000001"), ObjectId("508eee92fa0d00b818000002")],每个映射到administratormoderator

我想要做的是将这些ID替换为来自roles集合的实际文档。我知道我可以手动填写它,但我希望有一些方法可以让Mongoid自动填充。

1 个答案:

答案 0 :(得分:2)

我自己没有使用过Mongoid,但是使用ActiveRecord你会这样做:

render :json => @users, :include => [:roles]

这当然需要您的User模型设置roles关联。

希望这也与Mongoid有关。