我有2个型号:
class Annotation
include Mongoid::Document
belongs_to :event
field :desc, type: String
end
class Event::Event
include Mongoid::Document
has_many :annotations
end
然后我输入:
在rails控制台中创建了2个对象a = Annotation.new
e = Event::Event.new
现在每个人都很好,但是当我做的时候
a.event = e
我收到以下错误:
NoMethodError: undefined method `relations' for Event:Module
为什么会发生此错误以及如何解决?谢谢。
答案 0 :(得分:1)
试试这个:
class Annotation
include Mongoid::Document
belongs_to :event, class_name: 'Event::Event'
...
end
默认情况下,belongs_to
关联假定关联的对象属于Event
类型,但Event
是一个模块。此处的班级名称应为Event::Event
。因此,需要在关系中指定。
如果有帮助,请告诉我。