У меня есть приложение rails 2.3.8, которое можно запустить без базы данных.поэтому в файле environment.rb я исключаю ActiveRecord, а в контроллере приложения я отображаю разные страницы, когда ActiveRecord не определен.Но когда я пытаюсь обновить монграл до пассажира, пассажир выдает ошибку
неинициализированная константа ActiveRecord
Элемент управления вообще не отправляется в контроллер приложения.Как я могу сделать так, чтобы пассажир не поднял это исключение ??1007*
Приложил трассировку стека
http://pastebin.com/1kXDwiRT
в abuses.rb У меня есть
Злоупотребление классом act_as_paranoid
принадлежат_: пользователь принадлежит_то: обзор validates_presence_of: type,: message => _ ('не может быть пустым')
validates_presence_of: user,: on =>: create,: if => Proc.new {| r |r.visitor_id == nil}
validates_presence_of: visitor_id,: on =>: create,: if => Proc.new {| r |r.user_id == nil}
validates_length_of: comment,: максимум => 2000,: message => _ ('слишком длинный 2000')
end
Iне могу удалить эту модель классов, потому что они будут использоваться при запуске сайта с ActiveRecord.Я хочу запустить сайт без ActiveRecord в чрезвычайной ситуации, когда БД не работает.и я покажу страницы, которые не являются базой данных.
После дальнейших исследований я обнаружил, что в файле intializer.rb у меня есть эта функция
def load_application_classes возвращает, если $ rails_rake_task, если конфигурация.cache_classes configuration.eager_load_paths.each do | load_path |matcher = /\A#ndomRegexp.escape(load_path) coming(.*).rb\Z/ Dir.glob ("# {load_path} / * / .rb"). sort.each do |файл |require_dependency file.sub (matcher, '\ 1') end end end end end
закомментируя строку require_dependency, заставляет рельсы не проверять зависимость каждого файла.Есть ли способ отключить это из файла конфигурации environment.rb?установка config.cache в false работает.но я хочу кэшировать классы.но только не проверяйте зависимость.