如何在CGI / Ruby中将错误消息重定向到浏览器?

时间:2015-07-29 10:45:41

标签: ruby cgi

我已经使用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模块?

1 个答案:

答案 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"`

内容类型需要在代码的早期,因为之前的任何错误都不会发送到浏览器。