我已经使用CGI / Perl一段时间了,并且已经习惯使用Carp将错误消息重定向到浏览器,例如:
use CGI::Carp qw(warningsToBrowser fatalsToBrowser set_message);
set_message("Please report this error to the administrator");
...
warningsToBrowser(1);
我考虑过切换到使用Ruby而不是Perl,但是我无法找到一种方法来执行类似的错误重定向。有没有可以做到这一点的Ruby模块?
答案 0 :(得分:1)
group :development do
gem 'better_errors'
gem 'binding_of_caller'
gem 'meta_request'
end
请参阅此railscast:Better Errors & RailsPanel和此主题redirect errors to browser in ruby + cgi,其中暗示:
$stdout.sync = true
$stderr.reopen $stdout
puts "Content-type: text/html\n\n"`
内容类型需要在代码的早期,因为之前的任何错误都不会发送到浏览器。