Вы, вероятно, не хотите реализовывать это путем переопределения find. Переопределение чего-то вроде find, вероятно, будет головной болью.
Вы можете создать метод класса, который будет делать то, что вам нужно, что-то вроде:
class MyTable < ActiveRecord::Base
def self.find_using_dirty_keywords(*args)
#Cleanup input
#Call to actual find
end
end
Если вы действительно хотите перегрузить, вы можете сделать это следующим образом:
Как пример:
class MyTable < ActiveRecord::Base
def self.find(*args)
#work your magic here
super(args,you,want,to,pass)
end
end
Для получения дополнительной информации о проверке подклассов эта ссылка: Ruby Tips