ошибка отладки rails

75
6

Попытка получить работу отладчика рельсов. Я сделал следующее:

отладчик установки gem

Добавлено в Gemfile

gem "отладчик", "~> 1.2.0"

установка пакета - без ошибок

Теперь я помещаю отладчик в один из моих контроллеров

def show
require 'debugger'; debugger
@user = User.find(params[:id])

respond_to do |format|
format.html # show.html.erb
format.json { render json: @user }
end
end

Когда я укажу свой браузер, я получаю следующую ошибку в браузере

LoadError in UsersController#show

cannot load such file -- debugger

Я использую ruby 1.9.3p194 (исправление 2012-04-20 версия 35410) [x86_64-linux] и Rails 3.2.6 с пассажиром Phusion

Любая идея, что не так?

спросил(а) 2021-01-19T20:48:11+03:00 2 месяца, 3 недели назад
1
Решение
106

Не совсем точно, как вы хотите использовать камень отладчика, но он отлично подходит для создания точек останова в активном коде. В Rails 3 вам понадобятся только ваши маршруты. Rb:

gem 'debugger'

Это не имеет никакого эффекта в производстве и для того, чтобы остановить его код в любой момент, просто поместите "отладчик", и ваша консоль сервера предоставит вам доступ к этой точке вашего кода. В этот момент, чтобы проверить состояние переменных, вам нужно получить доступ к IRB, поэтому просто введите "irb". В действии "show" вы можете проверить значение ваших параметров и будет ли заполнено @user.

def show
debugger
@user = User.find(params[:id])
...

ответил(а) 2021-01-19T20:48:11+03:00 2 месяца, 3 недели назад
45

Удалить заявку и запустить сервер рельсов с опцией отладчика

сервер рельсов --debugger

ответил(а) 2021-01-19T20:48:11+03:00 2 месяца, 3 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема