带有mongoid的自定义字段

时间:2012-11-08 16:58:35

标签: ruby-on-rails ruby mongoid mongoid3 custom-field-type

我开始在我的项目中使用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上看到有“自定义字段序列化”,我认为可以让我做我想做的事情。但是我想知道是否有其他方法可以轻松地做到这一点,因为我有很多模型需要改变。

0 个答案:

没有答案