Mongoid: как хранить вложенные объекты в другом контейнере (например, store_in) - PullRequest
0 голосов
/ 08 ноября 2011
class Person
  include Mongoid::Document
  store_in :citizens
  embeds_many :presonal_addresses
end

class PersonalAddress
  include Mongoid::Document
  embeded_in :person
  store_in :addresses # but it seems not to work
end

Я хочу, чтобы класс для внедренного документа в рельсы назывался PersonalAddress , но сохранял его в атрибуте с именем адреса , а не personal_addresses :

"citizens": {"_id": ..., "addresses": [{"_id":...},{..}]} but not:
citizens: {"_id": ..., "personal_addresses": [{"_id":...},{..}]}

Возможно ли это?

Спасибо!

1 Ответ

1 голос
/ 08 ноября 2011
class Person
  include Mongoid::Document
  store_in :citizens
  embeds_many :addresses, :class_name => "PersonalAddress"
end

class PersonalAddress
  include Mongoid::Document
  embeded_in :person, :inverse_of => :addresses
end
...