2
我知道我可以給模型添加新的方法,但我似乎無法覆蓋現有的方法。下面是我有如何從Ruby中的模塊覆蓋現有的實例方法?
在我User.rb
include ExtraMethods
def is_invisible?
true unless self.active?
end
在我的模塊
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)
我希望發生的是在插件的方法來覆蓋模型中的方法。任何想法或參考將是偉大的,似乎無法找到一個很好的參考。
謝謝!
J