JUl*_*der 4 ruby ruby-on-rails irb rails-console ruby-on-rails-5
我正在运行 Rails 5,从 4.2.x 升级
在控制台中,当运行失败的方法时,错误不会显示行号,我只能看到:
Traceback (most recent call last):
NoMethodError (undefined method `[]' for nil:NilClass)
Run Code Online (Sandbox Code Playgroud)
我确保development.rb具有:
config.log_level = :debug
Run Code Online (Sandbox Code Playgroud)
我的宝石文件:
source 'https://rubygems.org'
gem 'rails', '5.1.2' # mothership
gem 'bootstrap-sass' # crutches
gem 'sass-rails' # Use SCSS for stylesheets
gem 'devise' # login/sessions
gem 'devise-i18n' # login/sessions
gem 'haml' # markup language
gem 'uglifier', '>= 1.3.0' # Use Uglifier as compressor for JavaScript assets
gem 'coffee-rails'
gem 'jquery-rails' # Use jquery as the JavaScript library
gem 'bcrypt', '~> 3.1.7' # Use ActiveModel has_secure_password
gem 'html5_validators'
gem 'execjs'
gem 'puma'
gem 'pg'
gem 'listen'
group :development do
gem 'rails_db'
gem 'hirb'
gem "better_errors"
gem "binding_of_caller"
end
group :production do
gem 'aws-sdk-rails'
gem 'rails_12factor'
end
Run Code Online (Sandbox Code Playgroud)
我应该更改什么才能看到发生错误的行?
如果您在控制台中执行类似的操作:
begin
your_method_call
rescue => e
puts e.backtrace
end
Run Code Online (Sandbox Code Playgroud)
您将能够挽救异常并打印回溯。你不必puts这样做,你可以用回溯做任何你想做的事情,但你明白了。
希望这有帮助。