belongs_to :relation
belongs_to :member, :polymorphic => true
-
- after_find :set_class_from_type
- after_initialize :set_class_from_type
- before_save :set_type_from_class
-
- def member_type=(type)
- self[:member_type] = type
- self[:member_class] = type.capitalize
- end
-
-private
-
- def set_class_from_type
- self[:member_class] = self.member_type.classify unless self.member_type.nil?
- end
-
- def set_type_from_class
- self.member_type = self[:member_class].classify
- end
end