Mehrdeutige Beziehung in Mongoid

Ich versuche, viewer_ids in einem Post-Modell zu haben, um user_ids zu speichern, und viewing_ids im User-Modell, um post_ids anzuzeigen, die angezeigt wurden. Die Sache beim Testen mit Rspec zum Hinzufügen / Löschen und Zugreifen auf die Beziehung von Benutzer funktioniert großartig. Aber wenn ich den Beitrag mit RABL ansehe - während Benutzerdaten eingebettet sind -, wird er verwirrt und gibt mir die Ambiguous Relationship.

#Post class
belongs_to :user
has_and_belongs_to_many :viewers, class_name: 'User', inverse_of: :viewed  

#User class
has_many :users
has_and_belongs_to_many :viewed, class_name: 'Post', inverse_of: :viewers
Mongoid :: Errors :: AmbiguousRelationship in Posts # show
Problem:
Ambiguous relations :posts, :viewed defined on User.
Summary:
When Mongoid attempts to set an inverse document of a relation in memory, it needs to know which relation it belongs to. When setting :user, Mongoid looked on the class Post for a matching relation, but multiples were found that could potentially match: :posts, :viewed.
Resolution:
On the :user relation on Post you must add an :inverse_of option to specify the exact relationship on User that is the opposite of :user.

Also, was ist das Problem, ich definiere beide Beziehungen und die Umkehrung von ihnen. Ist es nicht möglich, unterschiedliche Daten umgekehrt zu einer Relation zu haben?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage