2
모델에 새 메서드를 추가 할 수 있지만 기존 메서드를 덮어 쓸 수없는 것 같습니다. 여기 내 모듈Ruby의 모듈에서 기존 인스턴스 메소드를 덮어 쓰려면 어떻게해야합니까?
module ExtraMethods
def self.included(base)
base.extend(ClassMethods)
end
module ClassMethods
def user_extra_methods
include ExtraMethods::InstanceMethods
end
end
module InstanceMethods
def is_invisible?
true unless self.active? || self.admin?
end
end
end
ActiveRecord::Base.send(:include, ExtraMethods)
User.send(:user_extra_methods)
내가 일이 원하는 것은 모델의 메소드를 오버라이드 (override) 할 수있는 플러그인의 방법입니다 내 User.rb
include ExtraMethods
def is_invisible?
true unless self.active?
end
에서
을거야. 어떤 생각이나 참고 문헌도 좋을 것이고, 이것에 대한 좋은 참고 자료를 찾을 수 없을 것입니다.감사합니다.