Чтобы мой веб-сайт рельсов работал, даже когда база данных отключена. в def rescue_action_in_public(exception)
Функция я ловлю Mysql: Ошибка исключения и отображать страницу, которая имеет ссылку на базу данных, например
def rescue_action_in_public(exception)
when Mysql::Error, Errno::ECONNREFUSED, Timeout::Error
puts "-----the controller name #{controller_name}"
if controller_name == "index"
render :template => 'index/index'
end
это прекрасно работает, когда я запускаю приложение, немедленно останавливаю БД и пытаюсь получить доступ к моим страницам.
но если я запускаю приложение, просматриваю несколько страниц и затем останавливаю БД. и теперь попробуйте получить доступ к страницам, я мог видеть пустой параметр в журналах, как
Parameters: {}
вместо
Parameters: {"action" => "index" "controller" => "index"}
в результате этого условия
if controller_name == "index"
не выполняется.
Я не знаю, почему в этом сенарио не задано правильное имя контроллера.
или если это что-то делать с файлом rout.rb.