Для общих знаний и развлечений я пытаюсь добавить некоторые поведенческие требования к Rails. Я ищу просто запустить оператор Mysql «EXPLAIN» перед каждым оператором select, который запускает Rails. Я думаю, что это должно работать нормально, но я получаю ошибку:Добавление в ActiveRecord :: ConnectionAdapters :: MysqlAdapter
/usr/lib/ruby/gems/1.8/gems/activesupport-2.1.0/lib/active_support/core_ext/module/aliasing.rb:32: в alias_method': undefined method
select_with_explain 'для класса `ActiveRecord :: ConnectionAdapters :: MysqlAdapter' (NameError)
Этот класс находится в директории инициализаторов. Вот код:
module Explanifier
def self.included(base)
base.class_eval do
extend ClassMethods
alias_method_chain :select, :explain
end
end
module ClassMethods
def select_with_explain(sql, name = nil)
puts "testing!!!"
execute('EXPLAIN ' + sql, name)
select_without_explain(sql, name)
end
end
end
class ActiveRecord::ConnectionAdapters::MysqlAdapter
include Explanifier
end
Может кто-нибудь объяснить, что мне здесь не хватает?