Об встроенном документе, ссылаясь на многие другие документы

StackOverflow https://stackoverflow.com/questions/3838067

  •  27-09-2019
  •  | 
  •  

Вопрос

У меня есть следующая ассоциация

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
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top