0

rails3アプリでmongoidをセットアップし、2つのモデルを作成しました。1つのモデルはユーザーであり、もう1つのモデルは記事です。

私は各ユーザーが多くの記事を作成できるので、次のように記述しました。

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.

関係を維持したいのですが、誰でも記事にアクセスできるようにしたいと思っています。どうやってやるの??

4

2 に答える 2

1

また、本当に記事を埋め込む必要がある場合は、次のようにします。

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

しかし、Ben が言ったように、embedded_in の代わりに belongs_to を使用したほうがよいでしょう。

于 2011-05-08T05:50:32.513 に答える
1

あなたが望むのは、このための埋め込み関係ではなく参照関係であるように思えます: http://mongoid.org/docs/relations/referenced.html

于 2011-05-08T03:58:39.473 に答える