Rails 2.3.8不在浏览器中显示堆栈跟踪,而是显示500.html

时间:2010-08-30 15:05:56

标签: ruby-on-rails

堆栈跟踪未显示(应在浏览器中)。相反,我得到公开/ 500.html呈现。当我创建一个新的rails项目并应用haml插件时,似乎重新创建了这个问题。最初我虽然是这个红宝石脚本导致了这个问题:

class ToHaml
  def initialize(path)
    @path = path
  end

  def convert!
    Dir["#{@path}/**/*.erb"].each do |file|
    `html2haml -rx #{file} #{file.gsub(/\.erb$/, '.haml')}`
    `rm #{file}`
    end
  end
end

path = File.join(File.dirname(__FILE__), 'app', 'views')
ToHaml.new(path).convert!

我虽然可能删除了用于显示堆栈跟踪的erb模板。这似乎并非如此,因为我在app / views中找不到任何模板。

所以它必须是导致问题的haml插件

haml --rails MyRubyApp

不确定如何,但在我运行此堆栈后,跟踪显示不再显示在浏览器中(仅限500.html)。我已经尝试在开发模式下显式启动服务器而没有任何影响。

有人对此有所了解吗?提前谢谢。

3 个答案:

答案 0 :(得分:0)

在我看来,您在生产环境中运行新的Rails应用程序而不是开发。检查您的RAILS_ENV变量和environment.rb文件,以确保您在开发中运行,而不是生产。

答案 1 :(得分:0)

您可以在log / development.log中查找错误堆栈跟踪(如果您正在生产中运行,或者在您编写日志的任何地方,请查看log / production.log)。

答案 2 :(得分:0)

解决方案是下载一个http嗅探器并查看帖子数据。事实证明,在我的一些视图代码中存在语法问题(虽然有效)(一对“[]”附加到一个不应该存在的字符串中)。

希望这有助于任何遇到同类问题的人。