mongoidにembeds_many関係を作成しようとしていますが、コレクションに追加するオブジェクトに型制約を強制していないようです。私はここで間違っていることをやっているのですか?Mongoid embeds_manyタイプ制約
class Item
include Mongoid::Document
embeds_many :extra_fields, class_name: "ItemType"
end
class ItemType
include Mongoid::Document
embedded_in :item
field :type_name
end
class Category
include Mongoid::Document
embeds_many :schema_fields
field :rabble
end
ruby > Item.delete_all
=> 1
ruby > item = Item.new
=> #<Item _id: 4e20a60a401b3e47d2000004, _type: nil>
ruby > item.extra_fields << Category.new(:rabble => 'derp')
=> [#<Category _id: 4e20a619401b3e47d2000005, _type: nil, rabble: "derp">]
ruby > item.save
=> true
ruby > item = Item.first
=> #<Item _id: 4e20a60a401b3e47d2000004, _type: nil>
ruby > item.extra_fields[0].rabble
=> "derp"
を与えている力を扱う、すべてのもののような基礎となるデータベース
のいずれかのRubyに制約を追加しません。私は、Mongo Mapperがこれらの種類の関連性の制約をある程度強要していることを発見しました。 – Mynock