1

私は3つのモデルを持っています:

class User
  include Mongoid::Document
  field :name, :type => String

  has_many :comments
  embeds_many :posts
end

class Post
  include Mongoid::Document
  field :title, :type => String
  field :body, :type => String

  embeds_many :comments
  belongs_to :user
end

class Comment
  include Mongoid::Document
  field :text, :type => String

  belongs_to :user
  embedded_in :post
end

そして、私はこのエラーがあります:

Referencing a(n) Comment document from the User document via a relational association is not allowed since the Comment is embedded.

わかりました、そうです。しかし、誰がコメントを書いたのか、どうすれば保存できますか?

4

1 に答える 1

2

コメントのbelongs_toユーザーはそれを捨てているものです。通常のフィールドを使用して外部キーを格納するだけです。

class Comment
  include Mongoid::Document

  embedded_in :post

  field :text, :type => String
  field :commenter_id
end
于 2012-06-04T18:08:10.837 に答える