magic_field_relationship.rb
484 Bytes
class MagicFieldRelationship < ActiveRecord::Base
belongs_to :magic_field
belongs_to :owner, :polymorphic => true
#belongs_to :extended_model, :polymorphic => true
validates_uniqueness_of :name, scope: [:owner_id, :owner_type, :type_scoped]
validates_presence_of :name, :type_scoped
before_validation :sync_name
def sync_name
self.name = magic_field.name
self.type_scoped = magic_field.type_scoped.blank? ? self.owner_type : magic_field.type_scoped
end
end