class Desktop include Mongoid::Document include Mongoid::Timestamps field :theme, default: "default" field :customtheme field :wallpaper belongs_to :user has_many :sections, :autosave => true, :dependent => :destroy before_create :initialize_section def initialize_section self.sections.build(name: "Desktop 1") self.sections.build(name: "Desktop 2") self.sections.build(name: "Desktop 3") self.sections.build(name: "Desktop 4") end end