MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Rails 3 utilisant MongoDB via un adaptateur mongoid - existe-t-il un moyen de partager les spécifications d'attribut sans utiliser l'héritage à table unique ?

Vous pouvez définir les attributs communs dans un module et les inclure.

require 'mongoid'

module DefaultAttrs

  def self.included(klass)
    klass.instance_eval do
      field :uuid, :type => String
    end
  end

end

class Foo
  include Mongoid::Document
  include DefaultAttrs

  field :a, :type => String
end

class Bar
  include Mongoid::Document
  include DefaultAttrs

  field :b, :type => String
end