Об встроенном документе, ссылаясь на многие другие документы
Вопрос
У меня есть следующая ассоциация
Class Person
include Mongoid::Document
embeds_many :employments
end
Class Employment
include Mongoid::Document
references_many :centres
end
class Centre
include Mongoid::Document
referenced_in :employment
end
Теперь, когда я пытался
Person.first.employments.first.centres.build
Это дало мне ошибки, как
NoMethodError: undefined method `centres' for #<Employment:0x000001023f38f8>
Я делаю что-нибудь не так?
Или встроенный документ не может ссылаться на много других документов?
Решение
Чувак, вы настроили не так. Встроенный документ не может ссылаться на другую модель. Если вы все еще хотите ссылаться на другую модель с встроенным документом, то вам придется создать пользовательскую функцию.
Другие советы
Пытаться:
class Centre
include Mongoid::Document
referenced_in :employment, :inverse_of => :centres
end
Не связан с StackOverflow