让关联正确的问题。在我的模型中,我有用户和请求。请求拥有所有者和许多参与者。用户有很多请求和许多参与。
我试着像这样建模:
class User
include Mongoid::Document
has_many :requests, inverse_of: :owner
has_many :participations, class_name: 'Request', inverse_of: :participants
...
class Request
include Mongoid::Document
belongs_to :owner, class_name: 'User', inverse_of: :requests
has_many :participants, class_name: 'User', inverse_of: :participations
...
当我尝试通过调用
设置参与时 @request.participants << current_user
我收到以下错误:
消息:将(n)用户添加到请求#参与者时,Mongoid可以 不确定要设置的反向外键。尝试过的关键是 'participations_id'。摘要:将文档添加到关系时, Mongoid尝试将新添加的文档链接到基础 内存中的关系,以及设置外键以链接它们 数据库方面。在这种情况下,Mongoid无法确定是什么 逆外键是。分辨率:如果不需要反转, 像belongs_to或has_and_belongs_to_many一样,确保:inverse_of =&GT; nil设置在关系上。如果需要逆,则很可能无法从关系的名称中找出逆 你需要明确告诉Mongoid关于什么是关系 逆是。示例:class Lush包括Mongoid :: Document
has_one:whiskey,class_name:“Drink”,inverse_of :: alcoholic end
class Drink包括Mongoid :: Document belongs_to:alcoholic, class_name:“Lush”,inverse_of ::威士忌结束
我没有得到它,我已经设置了所有反转,我做错了什么?