Поведение не рельсов, а ruby.
Какой смысл вложен в:
!current_page? (root_path || regulation_path || test_path || device_path)
?
root_path || regulation_path || test_path || device_path - данное выражение вернет значение первой переменной, значение которой не nil. Следовательно current_page? у вас отрабатывает со значением root_path всегда. Почему он для PATH_INFO /regulation возвращает true при проверке root_path - это другой вопрос. Сначала надо бы "в консерватории поправить"