堆栈跟踪未显示(应在浏览器中)。相反,我得到公开/ 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)。我已经尝试在开发模式下显式启动服务器而没有任何影响。
有人对此有所了解吗?提前谢谢。
答案 0 :(得分:0)
在我看来,您在生产环境中运行新的Rails应用程序而不是开发。检查您的RAILS_ENV变量和environment.rb文件,以确保您在开发中运行,而不是生产。
答案 1 :(得分:0)
您可以在log / development.log中查找错误堆栈跟踪(如果您正在生产中运行,或者在您编写日志的任何地方,请查看log / production.log)。
答案 2 :(得分:0)
解决方案是下载一个http嗅探器并查看帖子数据。事实证明,在我的一些视图代码中存在语法问题(虽然有效)(一对“[]”附加到一个不应该存在的字符串中)。
希望这有助于任何遇到同类问题的人。