私は mongodb/mongoid に非常に慣れていないため、ユーザーが製品をレビューできるようにするシステムを構築する最善の方法について疑問に思っていました。ユーザーと製品は個別のコレクションになります。ただし、作成したレビューをユーザー ページと製品ページの両方に表示するには、両方ともレビュー モデルにアクセスする必要があります。リンクされた 1 (製品) -N (レビュー) の関係と、埋め込まれた 1 (ユーザー) - 1 (レビュー) の関係を作成する必要がありますか? これはこれを行う正しい方法ですか?
ユーザーモデル
class User
include Mongoid::Document
field :name, type: String
field :email, type: String
embeds_many :reviews, cascade_callbacks: true
end
製品モデル
class Product
include Mongoid::Document
field :name, type: String
field :price, type: Float
has_many :reviews, dependent: :destroy
end
モデルのレビュー
class Review
include Mongoid::Document
field :rating, type: Integer
belongs_to :product
embedded_in :user
end
ありがとう