В Rails 5 вы можете найти гем 'byebug' по умолчанию в Gemfile:
group :development, :test do
# Call 'byebug' anywhere in the code to stop execution and get a debugger console
gem 'byebug', platforms: [:mri, :mingw, :x64_mingw]
end
Затем вы можете использовать byebug на своем контроллере, помещать его в любое место и много раз, когда вам нужно, он работает как «точка останова» и, наконец, запустить ваш сервер $ rails server
class UsersController < ApplicationController
byebug
end
В командной строке напишите справку для опций, обычно используйте букву 'c', чтобы перейти к следующей точке останова, или букву 'n', чтобы шаг за шагом продвигаться, и ctrl + d, чтобы выйти.
(byebug) help
break -- Sets breakpoints in the source code
catch -- Handles exception catchpoints
condition -- Sets conditions on breakpoints
continue -- Runs until program ends, hits a breakpoint or reaches a line
debug -- Spawns a subdebugger
delete -- Deletes breakpoints
disable -- Disables breakpoints or displays
display -- Evaluates expressions every time the debugger stops
down -- Moves to a lower frame in the stack trace
edit -- Edits source files
enable -- Enables breakpoints or displays
finish -- Runs the program until frame returns
frame -- Moves to a frame in the call stack
help -- Helps you using byebug
history -- Shows byebug's history of commands
info -- Shows several informations about the program being debugged
interrupt -- Interrupts the program
irb -- Starts an IRB session
kill -- Sends a signal to the current process
list -- Lists lines of source code
method -- Shows methods of an object, class or module
next -- Runs one or more lines of code
pry -- Starts a Pry session
quit -- Exits byebug
restart -- Restarts the debugged program
save -- Saves current byebug session to a file
set -- Modifies byebug settings
show -- Shows byebug settings
skip -- Runs until the next breakpoint as long as it is different from the current one
source -- Restores a previously saved byebug session
step -- Steps into blocks or methods one or more times
thread -- Commands to manipulate threads
tracevar -- Enables tracing of a global variable
undisplay -- Stops displaying all or some expressions when program stops
untracevar -- Stops tracing a global variable
up -- Moves to a higher frame in the stack trace
var -- Shows variables and its values
where -- Displays the backtrace
(byebug)
Другая опция для отображения отладки (params):
В файле app / views / layouts / application.html.erb под нижним колонтитулом рендеринга и выше укажите следующее:
<%= debug(params) if Rails.env.development? %>
Наконец, я поделюсь этими опциями, как я знаю, как новичок в Ruby on Rails. Надеюсь, это поможет.
Источник справки: https://rubyplus.com/articles/3631-Debugging-using-ByeBug-Gem-in-Rails-5