diff --git a/guides/source/debugging_rails_applications.md b/guides/source/debugging_rails_applications.md index 926a048762..a6349eb301 100644 --- a/guides/source/debugging_rails_applications.md +++ b/guides/source/debugging_rails_applications.md @@ -242,55 +242,6 @@ The contents of the block, and therefore the string interpolation, is only evaluated if debug is enabled. This performance savings is only really noticeable with large amounts of logging, but it's a good practice to employ. - -Debugging with the `web-console` gem -------------------------------------- - -The web console allows you to start an interactive Ruby session in your browser. -An interactive console is launched automatically in case of an error but can also -be launched for debugging purposes by invoking `console` in a view or controller. - -For example in a view: - -```ruby -# new.html.erb -<%= console %> -``` - -Or in a controller: - -```ruby -# posts_controller.rb -class PostsController < ApplicationController - def new - console - @post = Post.new - end -end -``` - -### config.web_console.whitelisted_ips - -By default the web console can only be accessed from localhost. -`config.web_console.whitelisted_ips` lets you control which IPs have access to -the console. - -For example, to allow access from both localhost and 192.168.0.100, you can put -inside your configuration file: - -```ruby -config.web_console.whitelisted_ips = %w( 127.0.0.1 192.168.0.100 ) -``` - -Or to allow access from an entire network: - -```ruby -config.web_console.whitelisted_ips = %w( 127.0.0.1 192.168.0.0/16 ) -``` - -The web console is a powerful tool so be careful when you give access to an IP. - - Debugging with the `byebug` gem --------------------------------- @@ -849,6 +800,63 @@ set forcestep set listsize 25 ``` +Debugging with the `web-console` gem +------------------------------------ + +Web Console is a bit like `byebug`, but it runs in the browser. In any page you +are developing, you can request a console in the context of a view or a +controller. The console would be rendered next to your HTML content. + +### Console + +Inside any controller action or view, you can then invoke the console by +calling the `console` method. + +For example, in a controller: + +```ruby +class PostController < ApplicationController + def new + console + @post = Post.new + end +end +``` + +Or in a view: + +```html+erb +<% console %> + +