class Page include Mongoid::Document include Mongoid::Timestamps field :name, localize: true field :number, type: Integer field :module field :url field :page_id has_many :page_parts, :autosave => true, :dependent => :destroy has_many :child_page, :class_name => 'Page', :inverse_of => :parent_page belongs_to :parent_page, :class_name => 'Page', :inverse_of => :child_page def to_param page_id.parameterize end def self.find_by_param(input) self.find_by(page_id: input) rescue nil end end