我开始在我的项目中使用mongoid gem,我对它如何存储和获取数据库信息感到有些困惑。我的模型中有特定类型的字段,但是当我从数据库中获取它时,它返回一个哈希。 这是我的模特:
service.rb
class Service
include Mongoid::Document
field :username, type: String
field :strategy, type: Strategy
field :design, type: Design
end
strategy.rb
class Strategy
include Mongoid::Document
field :name, type: String
field :description, type: String
field :resources, type: Resources
field :scalability, type: Scalability
field :localization, type: Localization
field :contact, type: Contact
end
如果我初始化一个新服务@service,并且执行@ service.class它返回Service,那么,如果我尝试执行@ service.strategy.class,它会返回Hash,而不是策略,就像我期待的那样。我在mongoid manual上看到有“自定义字段序列化”,我认为可以让我做我想做的事情。但是我想知道是否有其他方法可以轻松地做到这一点,因为我有很多模型需要改变。