ruby on rails-如何公开Mongoid嵌入的集合



我在rails3应用程序中安装了mongoid,并创建了两个模型。一个模型是用户,另一个模型则是文章。

由于我每个用户都可以创建许多文章,我已经放:

embedded_in :user

在model/article.rb文件中,以及:

embeds_many :articles

在model/user.rb文件中。

现在,如果我通过"app_url/articles/random_article_id"访问文章,我会得到以下错误。

Access to the collection for Article is not allowed since it is an embedded document, please access a collection from the root document.

虽然我想保持关系,但我希望任何人都能访问文章。我该怎么做??

听起来你想要的是一个引用关系,而不是嵌入关系:http://mongoid.org/docs/relations/referenced.html

此外,如果您确实需要嵌入文章,请执行以下操作:

User.where("article.id" => params[:id].first.articles.find(params[:id])

但是,正如Ben所说,您最好使用belong_to,而不是embedded_in。

相关内容

  • 没有找到相关文章

最新更新