1

如何更好地调试此消息?跟踪显示来自我的一个文件 - application.rb 的 3 行:

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'

我觉得我已经碰壁了..出于这个原因,虽然我急于修复这个错误,但我更急于找出如何更好地调试这些消息?像“Can't convert Hash into String in somefile.rb:112”这样的事情肯定会很容易处理吗?

4

1 回答 1

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
于 2012-04-05T19:49:20.683 回答