如何更好地调试此消息?跟踪显示了我的一个文件中的3行 - application.rb:
18 module CustomApp
19 class Application < Rails::Application
...
49 # Enable the asset pipeline
有没有办法找出究竟是哪个文件引发了这个错误?
最后一次追踪:
/home/user/.rvm/gems/ruby-1.9.3-p0/gems/figaro-0.2.0/lib/figaro/railtie.rb:8:in `update'
我觉得自己已经碰到了一堵砖墙。因此,虽然我急于修复这个错误,但我更加急于找出如何更好地调试这些消息?当然可以轻松处理类似“无法将哈希转换为somefile.rb:112中的字符串”的内容吗?
答案 0 :(得分:1)
要了解ruby-debug:http://bashdb.sourceforge.net/ruby-debug.html
要了解有关调试Rails的信息:http://guides.rubyonrails.org/debugging_rails_applications.html
错误来自此文件:
lib/figaro/railtie.rb line 8
该文件中的代码块:
path = Rails.root.join("config/application.yml")
ENV.update(YAML.load(File.read(path)) || {}) if File.exist?(path)
解决问题的一种方法是使用ruby-debug:
gem install ruby-debug
编辑该文件以使其显示更好的错误:
path = Rails.root.join("config/application.yml")
if File.exist?(path)
debugger
f = File.read(path)
y = YAML.load(f)
ENV.update(y || {})
end