2017-01-25 14 views
0

Когда я сталкиваюсь с ошибкой на странице приложения рельсов 5.0 во время разработки, я получаю страницу с ошибками с рельсами web-console внизу страницы, как на скриншоте ниже. Консоль кажется довольно полезной для запуска методов этого контроллера, в котором произошла ошибка.Показать Rails Console на всех страницах

Sample console

Можно ли включить его на всех страницах, так что я могу получить доступ к нему без страницы ошибок?

+1

Почему бы не просто использовать «рельсы c» в терминале? –

+0

Лично я не использовал много «рельсов консоли» на терминале. То, что я пытаюсь сделать, - это выполнить методы, которые находятся в «контроллерах» и «моделях», поэтому я могу проверить, что они работают должным образом. Причина, по которой я пытаюсь привести его на страницу, - это когда я нахожусь на странице, которая является частью 'controller', я могу запустить« методы », которые являются частью этого контроллера. –

+0

Если это специально для методов тестирования на контроллере, тогда было бы лучше написать модульные тесты. Сначала создайте тест с желаемыми результатами, затем измените контроллер до тех пор, пока не пройдут тесты. Это называется Test Driven development (TDD) –

ответ

1

На жемчужине веб-консоли page говорится, что вы можете вручную запустить консоль на любой странице вашего приложения. В документах указано следующее:

Например, вызывающая консоль в представлении отобразит консоль на текущей странице в контексте привязки вида.

<% console %> 

Вызов консоли в контроллере приведет к консоли в контексте действия контроллера:

class PostsController < ApplicationController 
    def new 
    console 
    @post = Post.new 
    end 
end 

Метод определен в ядре, и вы можете ссылаться на это любой код приложения.

Только одно приглашение на консоль допускается один раз за запрос. Если у вас несколько экземпляров, будет создан WebConsole :: DoubleRenderError.

Возможно, это поможет вам вызвать консоль на страницах, которые вы хотите, чтобы они отображались.

+0

Я получаю следующую ошибку, когда я помещаю ее в контроллер 'undefined local variable или method' console '' –

+0

Это работает для меня, я тестировал здесь. Убедитесь, что вы используете эти версии драгоценного камня: «webconsole», «> = 3.3.0» и «listen», '> = 3.0.5' –

 Смежные вопросы

  • Нет связанных вопросов^_^