Can't escape from eval with next using Pry-rails

19.5k views Asked by At

Hi I've installed Pry to do some awesome debugging and had it working before but when I step into the code with 'next' I get the following error:

SyntaxError: (eval):2: Can't escape from eval with next

Code being used:

def create
    binding.pry
    build_resource(sign_up_params)

    if resource.save
      yield resource if block_given?
      if resource.active_for_authentication?
        set_flash_message :notice, :signed_up if is_flashing_format?
        sign_up(resource_name, resource)
        respond_with resource, :location => after_sign_up_path_for(resource)
      else
        set_flash_message :notice, :"signed_up_but_#{resource.inactive_message}" if is_flashing_format?
        expire_data_after_sign_in!
        respond_with resource, :location => after_inactive_sign_up_path_for(resource)
      end
    else
      clean_up_passwords resource
      respond_with resource
    end
  end

Has anyone else had this issue?

5

There are 5 answers

0
Jeff Saremi On

This is what solved the problem. Even the answer here didn't work for me.

I had to add require 'pry-byebug' to my spec file!

0
WhomWhomWhom On

I believe the issue here is that you're debugging inside a block, so you cannot call next while you're inside of it.

0
Jose Paez On

I had a similar issue, in my case the problem was solved because I needed to require those gems. For example:

group :development, :test do
  ...
  gem 'pry',                                require: true
  gem 'pry-byebug',                         require: true
  gem 'pry-doc',                            require: true
  gem 'rspec-rails',                        require: false
  ...
end
0
exmaxx On

You can now use pry-byebug gem (for Ruby >= 2.0) or pry-debugger gem (for Ruby <= 1.9).

Use it together with pry gem in your Gemfile:

# Gemfile
gem 'pry'
gem 'pry-byebug'
3
Aurelien Porte On

Please make sure to install the 'pry-nav' gem.

I had the same error because I made the assumption that navigation commands were included into the 'pry-rails' gem.

Add gem 'pry-nav' in your Gemfile, then run bundle install.