Le code source esthas_one par rapport à la définition comme pour les documents intégrés pour MongoMapper et MongoDB
class RealTimeDetail
include MongoMapper::EmbeddedDocument
key :url, String
key :method, String
end
class TargetFeed
include MongoMapper::Document
key :name, String, :null => false
key :feed_type, String, :null => false
has_one :real_time_detail
end
Quand je fais target_feed.real_time_detail = RealTimeDetail.new (: url => "http://example.com",: method = > "get")
Je me suis trompé.
Au lieu de cela je l'ai changé TargetFeed à
class TargetFeed
include MongoMapper::Document
key :name, String, :null => false
key :feed_type, String, :null => false
key :real_time_detail, RealTimeDetail
end
Cela fonctionne, mais se demandait si cela est la meilleure façon de s'y prendre.