class Cms::MenuItem < ActiveRecord::Base attr_accessible :label, :link, :menu_id, :page_id, :menu_item_type, :position # -- Relationships -------------------------------------------------------- belongs_to :menu # -- Validations ---------------------------------------------------------- validates :menu_id, :presence => true validates :label, :presence => true # validates :menu_item_type, # :presence => true before_create :assign_position default_scope order('cms_menu_items.position') protected def assign_position max = self.menu.menu_items.maximum(:position) self.position = max ? max + 1 : 0 end end