Continuing in Rails Console

58 views
Skip to first unread message

Ralph Shnelvar

unread,
Jul 9, 2018, 9:55:18 AM7/9/18
to rubyonra...@googlegroups.com
Rubyonrails-talk,

My environment is:
Ubuntu 16.04
Rails 5.2.0
Ruby 2.3.1p112


From an Ubuntu command prompt I write
 rails c

and I get

Loading development environment (Rails 5.2.0)
irb(main):001:0> c
NameError: undefined local variable or method `c' for main:Object
Did you mean?  cb
       from (irb):1
irb(main):002:0> continue
NameError: undefined local variable or method `continue' for main:Object
Did you mean?  context
       from (irb):2
irb(main):003:0> 2+3
=> 5
irb(main):004:0>



How does one continue execution?

What commands are available from the irb command prompt?

Note: The app works from webrick and I can debug using byebug



My Gemfile follows
- - - - - -- - -

source 'https://rubygems.org'
git_source(:github) { |repo| "https://github.com/#{repo}.git" }

ruby '2.3.1'

# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '~> 5.2.0'
# Use sqlite3 as the database for Active Record
gem 'sqlite3'
# Use Puma as the app server
gem 'puma', '~> 3.11'
# Use SCSS for stylesheets
gem 'sass-rails', '~> 5.0'
# Use Uglifier as compressor for JavaScript assets
gem 'uglifier', '>= 1.3.0'
# See https://github.com/rails/execjs#readme for more supported runtimes
# gem 'mini_racer', platforms: :ruby

# Use CoffeeScript for .coffee assets and views
gem 'coffee-rails', '~> 4.2'
# Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks
gem 'turbolinks', '~> 5'
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
gem 'jbuilder', '~> 2.5'
# Use Redis adapter to run Action Cable in production
# gem 'redis', '~> 4.0'
# Use ActiveModel has_secure_password
# gem 'bcrypt', '~> 3.1.7'

# Use ActiveStorage variant
# gem 'mini_magick', '~> 4.8'

# Use Capistrano for deployment
# gem 'capistrano-rails', group: :development

# Reduces boot times through caching; required in config/boot.rb
gem 'bootsnap', '>= 1.1.0', require: false

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

group :development do
 # Access an interactive console on exception pages or by calling 'console' anywhere in the code.
 gem 'web-console', '>= 3.3.0'
 gem 'listen', '>= 3.0.5', '< 3.2'
 # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
 gem 'spring'
 gem 'spring-watcher-listen', '~> 2.0.0'
end

group :test do
 # Adds support for Capybara system testing and selenium driver
 gem 'capybara', '>= 2.15', '< 4.0'
 gem 'selenium-webdriver'
 # Easy installation and use of chromedriver to run system tests with Chrome
 gem 'chromedriver-helper'
end

# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]




Ralph Shnelvar

Hassan Schroeder

unread,
Jul 9, 2018, 11:04:44 AM7/9/18
to rubyonrails-talk
On Mon, Jul 9, 2018 at 6:54 AM, Ralph Shnelvar <ral...@dos32.com> wrote:

> From an Ubuntu command prompt I write
> rails c
>
> and I get
>
> Loading development environment (Rails 5.2.0)
> irb(main):001:0>

> irb(main):003:0> 2+3
> => 5

> How does one continue execution?

?? "irb" stands for Interactive RuBy -- like any REPL it's waiting
for YOU to enter something for it to do, like add 2 + 3 above.

> What commands are available from the irb command prompt?

Ruby/Rails methods.

Do you have an ActiveRecord class 'Thing'? Then you can do
e.g. `Thing.where(color: 'red')` and so on.

--
Hassan Schroeder ------------------------ hassan.s...@gmail.com
twitter: @hassan
Consulting Availability : Silicon Valley or remote

Ralph Shnelvar

unread,
Jul 9, 2018, 11:46:31 AM7/9/18
to Hassan Schroeder
Hassan,

I thank you for your answer.

I entered both "c" and "continue" at the irb prompt ... and got the two NameError's.  This time I'll make my inputs red.



Loading development environment (Rails 5.2.0)
irb(main):001:0> c
NameError: undefined local variable or method `c' for main:Object
Did you mean?  cb
      from (irb):1
irb(main):002:0>
continue
NameError: undefined local variable or method `continue' for main:Object
Did you mean?  context
      from (irb):2
irb(main):003:0> 2+3
=> 5
irb(main):004:0>



I am still at a loss how to continue execution at the irb prompt.

Ralph



Monday, July 9, 2018, 9:04:15 AM, you wrote:


HS> On Mon, Jul 9, 2018 at 6:54 AM, Ralph Shnelvar <


>> From an Ubuntu command prompt I write
>>  rails c

>> and I get

>> Loading development environment (Rails 5.2.0)
>> irb(main):001:0>

>> irb(main):003:0> 2+3
>> => 5

>> How does one continue execution?

HS> ?? "irb" stands for Interactive RuBy -- like any REPL it's waiting
HS> for YOU to enter something for it to do, like add 2 + 3 above.


>> What commands are available from the irb command prompt?

HS> Ruby/Rails methods.

HS> Do you have an ActiveRecord class 'Thing'? Then you can do
HS> e.g. `Thing.where(color: 'red')` and so on.

HS> --
HS> Hassan Schroeder ------------------------
hassan.s...@gmail.com
HS> twitter: @hassan
HS> Consulting Availability : Silicon Valley or remote




Ralph

Colin Law

unread,
Jul 9, 2018, 12:03:04 PM7/9/18
to Ruby on Rails: Talk
On 9 July 2018 at 16:46, Ralph Shnelvar <ral...@dos32.com> wrote:
...

I am still at a loss how to continue execution at the irb prompt.

If you tell us what you mean by continue execution then someone may be able to help.  What do you expect to happen when you tell it to continue execution? And don't just say you expect it to continue.  No-one knows what you mean.

Colin
 

Hassan Schroeder

unread,
Jul 9, 2018, 12:28:12 PM7/9/18
to rubyonrails-talk
On Mon, Jul 9, 2018 at 8:46 AM, Ralph Shnelvar <ral...@dos32.com> wrote:

> I am still at a loss how to continue execution at the irb prompt.

REPL stands for "read–eval–print loop" -- irb is waiting to *read*
some input to *eval* and *print*.

Using the word "continue" here is meaningless.

Maybe describe what you're hoping to achieve using the console?

--
Hassan Schroeder ------------------------ hassan.s...@gmail.com
twitter: @hassan

Ralph Shnelvar

unread,
Jul 9, 2018, 12:51:28 PM7/9/18
to Colin Law, rubyonra...@googlegroups.com
Colin and Hassan,

When I start rails with webrick and have a byebug statement in a controller or view, things drop into the byebug debugger. A "c" will continue execution.  I expect/expected the rails console to drop  into irb so it stops execution before Rails loads so that one can attempt to debug initialization.

Ralph
> wrote:
--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
rubyonrails-ta...@googlegroups.com.
To post to this group, send email to
rubyonra...@googlegroups.com.
To view this discussion on the web visit
https://groups.google.com/d/msgid/rubyonrails-talk/CAL%3D0gLvKx7GT4Y8XRgfH%3Dwq36OAbfL9csbM%2B_Dg_Te0%2BTywG4Q%40mail.gmail.com.
For more options, visit
https://groups.google.com/d/optout.




Ralph

Hassan Schroeder

unread,
Jul 9, 2018, 1:21:22 PM7/9/18
to rubyonrails-talk
On Mon, Jul 9, 2018 at 9:51 AM, Ralph Shnelvar <ral...@dos32.com> wrote:

> I expect/expected the rails console to drop into irb so it stops execution
> before Rails loads so that one can attempt to debug initialization.

When you start `rails console` and get the IRB prompt, Rails is
basically loaded at that point, so no.

And if Rails is broken, you probably won't get to the prompt anyway :-)

--
Hassan Schroeder ------------------------ hassan.s...@gmail.com
twitter: @hassan

Brandon McClelland

unread,
Jul 9, 2018, 1:33:06 PM7/9/18
to rubyonra...@googlegroups.com, cla...@gmail.com
From your original message it sounds like you were starting your own instance of the console using 'rails c' from the terminal; it doesn't sound to me that this is how you interact with byebug. According to http://guides.rubyonrails.org/debugging_rails_applications.html#debugging-with-the-byebug-gem you should be put into a console by byebug itself.


For more options, visit https://groups.google.com/d/optout.


--
Brandon McClelland
User Support Technician
Steve Jackson Games
Reply all
Reply to author
Forward
0 new messages