Встраивание консоли Live Rails в виде

В последнее время я использую драгоценный камень better_errors, и я считаю, что возможности командной оболочки (в основном консоли Rails, встроенные в ваше представление) чрезвычайно полезны. Мне бы хотелось иметь доступ к живой оболочке такого типа, которую я мог бы использовать для целей отладки/диагностики, даже если у меня нет ошибки. Это было бы замечательно встроить в мой контроллер приложений и ограничивать доступ к админу, чтобы я мог использовать его в промежуточной или серверной среде.

Есть ли какой-либо другой подобный инструмент или, возможно, способ вырезать живую оболочку из best_errors и вставлять ее в мои представления?

Ответ 1

Вы взглянули на pry? Это не технически похоже на better_errors, где он открывает консоль в браузере, но он работает одинаково. В основном вы просто добавляете binding.pry в любом месте вашего кода, даже в своих представлениях, для создания точки прерывания в коде, позволяющей запускать все, что вы хотите в этот момент времени.

Там также railscast о том, как использовать его http://railscasts.com/episodes/280-pry-with-rails

В качестве альтернативы вы должны просто иметь возможность выбросить ошибку в любом месте вашего кода, который откроет страницу better_errors в этой точке кода.

Я не уверен в том, чтобы сделать это на этапе постановки/производства, кроме просто открытия консоли. Вы, вероятно, никогда не захотели бы предоставить этот уровень доступа к вашему коду на Production в любом случае. В этот момент любой, кто может получить доступ к этой странице, имеет полный доступ к базе данных. Даже если он ограничен разработчиками, он кажется потенциальным риском для безопасности.