2013-03-02 18 views
10

Ostatnio korzystałem z klejnotu better_errors i uważam, że funkcje powłoki na żywo (w zasadzie konsola Railsowa osadzona w twoim widoku) są niezwykle użyteczne. Chciałbym mieć dostęp do takiej powłoki na żywo, której mógłbym użyć do debugowania/diagnostyki, nawet jeśli nie mam błędu. Byłoby to coś, co można osadzić w moim kontrolerze aplikacji i ograniczyć dostęp administratora, aby móc go używać w środowisku serwera pomostowego lub prod serwera.Osadzanie konsoli Rails na żywo w widoku

Czy jest jakieś inne podobne narzędzie, a może sposób na usunięcie żywej powłoki z better_errors i umieszczenie jej w moich widokach?

+0

Czy spojrzałeś na kod? https://github.com/charliesome/better_errors – mathieugagne

+0

Myślę, że to prawdopodobnie część 'repl'. – mathieugagne

Odpowiedz

2

Czy spojrzałeś na pry? To nie jest technicznie jak better_errors, gdzie otwiera konsolę w przeglądarce, ale działa w ten sam sposób. Zasadniczo po prostu dodajesz binding.pry w dowolnym miejscu kodu, nawet w widokach, aby utworzyć punkt przerwania w kodzie, umożliwiając uruchamianie tego, co chcesz w danym momencie.

Jest też railscast, w jaki sposób używać go http://railscasts.com/episodes/280-pry-with-rails

Jako alternatywę, należy po prostu być w stanie rzucać błąd gdziekolwiek w kodzie, który spowoduje wyświetlenie strony better_errors w tym miejscu w kodzie.

Nie jestem pewien, w jaki sposób można to zrobić na etapie produkcji/produkcji, oprócz otwarcia konsoli. Prawdopodobnie mimo to prawdopodobnie nigdy nie będziesz chciał przyznać takiego poziomu dostępu do swojego kodu w Produkcji. W tym momencie każdy, kto ma dostęp do tej strony, ma pełny dostęp do bazy danych. Nawet jeśli jest to ograniczone do programistów, wydaje się, że stanowi potencjalne zagrożenie bezpieczeństwa.

+0

Tak, cały czas używam podstępu i cały czas rzucam fałszywymi błędami tylko po to, aby uzyskać lepsze wyskoki. Masz absolutną rację co do zagrożeń bezpieczeństwa, ale w zależności od aplikacji (na przykład wewnętrzna aplikacja korporacyjna) może nie być tak źle. –

Powiązane problemy