Ruby on rails rails 5:rails c不';错误时不显示行号
我运行的是rails 5,从4.2.x升级而来 在控制台中,当运行失败的方法时 没有显示行号,我只能看到:Ruby on rails rails 5:rails c不';错误时不显示行号,ruby-on-rails,ruby,ruby-on-rails-5,irb,rails-console,Ruby On Rails,Ruby,Ruby On Rails 5,Irb,Rails Console,我运行的是rails 5,从4.2.x升级而来 在控制台中,当运行失败的方法时 没有显示行号,我只能看到: Traceback (most recent call last): NoMethodError (undefined method `[]' for nil:NilClass) 我确保development.rb具有: config.log_level = :debug 我的档案: source 'https://rubygems.org' gem 'rails',
Traceback (most recent call last):
NoMethodError (undefined method `[]' for nil:NilClass)
我确保development.rb具有:
config.log_level = :debug
我的档案:
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
我应该更改什么以查看发生错误的行?如果在控制台中执行类似操作:
begin
your_method_call
rescue => e
puts e.backtrace
end
您将能够拯救异常并打印回溯。你不必把它放进去,你可以用回溯做任何你想做的事情,但是你得到了这个想法
希望有帮助。我从控制台调用了一个模型类的方法。从内存来看,控制台通常不给出行号。。。从一个规范调用它,你应该得到它们……它们在你的日志文件中,检查
log/development.rb
;评估、最后评分;救援=>e;将e.backtrace;endI get=>nil
puts
将返回nil,但回溯应通过标准输出打印。除此之外,您可以将e
分配给变量,并尝试手动访问e.backtrace
,而不是put
。