2010-08-27 2 views
4

Есть ли способ, как мы отлаживаем модели/контроллеры с помощью logger.debug? Или даже лучший метод?Как отладить плагин/драгоценный камень? (с полезными примечаниями по настройке и использованию рубинового отладочного камня)

Спасибо!

Edit 1

Использование ruby-debug кажется крутой кривой обучения для меня, кто-то может указывать мне что-то похожее на logger.debug, возможно?

Edit 2

Хорошо, я думаю, что я начал вчитываться на рубинового отлаживать.

Некоторые полезные заметки для новичков в настройке & использования рубинового отладки:

gem install ruby-debug 
in config/environments/development.rb add 

include 'ruby-debug'

then just above the code you want to debug add: 

debugger 

if you need to debug third party plugin/gem, use 

include 'ruby-debug' 
debugger 

just use ruby script/server to run, no need to add --debugger 

Редактировать 3

Этот плагин действительно помогает мне понять поток приложения Rails. Я очень рекомендую это любому новичку, идущему профессионалам!

Просто установите ruby-debug, а затем введите код отладчика в любом месте вашего контроллера под действие, запрошенное вашим приложением. Затем вы найдете отличное откровение!

+0

Да, с помощью командной строки отладчик, безусловно, процесс обучения, и рубиново-отладки, конечно, не Visual Studio/XCode/и т.д. для отладки (конечно, эти инструменты не работают с Рубином - хотя я bet Radrails имеет отладчик), но это огромный плюс для значений печати/регистрации. – wuputah

ответ

4

Я настоятельно рекомендую вам научиться использовать ruby-debug. Вы можете установить его, выполнив:

gem install ruby-debug 

Вы можете добавить debugger заявление в ваш код либо в коде плагина или где ваш код вызывает плагин, шаг через него, и посмотреть, что происходит не так.

Я также лично использую эти настройки, которые делают его немного проще в использовании - поместите их в файл ~/.rdebugrc.

set autoeval 
set autolist 
set autoreload 
+0

Я попытался использовать его для набора тестового скрипта внутри плагина (путем запуска ctrl + R в Textmate), он возвратил NoMethodError: undefined метод 'logger 'для true: TrueClass, что мне теперь делать? – jaycode

+0

Вы не можете использовать 'Cmd + R' из Textmate с помощью' rdebug' - использование отладчика является интерактивным, поэтому вам нужно интерактивное приглашение. Запустите тестовый скрипт в терминале с помощью команды 'rdebug'. Вы также можете запустить его с простым рубином, если вам требуется «ruby-debug» (рубигемы также должны быть загружены для работы). – wuputah

+0

Вот скринкаст, который охватывает использование ruby-debug в приложении Rails: http://railscasts.com/episodes/54-debugging-with-ruby-debug – wuputah

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

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