5

次の Sinatra アプリがあり、errorブロックをテストしていますが、機能していないようです。

これが私のシナトラアプリです:

require 'rubygems'
require 'sinatra'

error do
  puts "----> Failed"
  $stdout.print "----> Failed"
end

get "/*" do
  raise "Error!!"
end

シナトラ(1.3.3)を使用しています

4

3 に答える 3

6

あなたは付け加えられます:

set :show_exceptions, false

アプリケーションファイルに。

開発環境show_exceptionsでは、デフォルトで有効になっています。

于 2012-10-01T06:51:34.927 に答える
4

Sinatra は、モードに設定されている場合、独自のエラー ハンドラーを使用しdevelopmentます。これはデフォルトです。エラーが表示されるようにするには、アプリを次のproductionようなモードで実行する必要があります。

ruby my_app.rb -e production

詳細な参照用の特定のドキュメントへのリンクは次のとおりです: Sinatra README #Environments

于 2012-10-01T03:17:22.637 に答える
0

ラックのベータ版を使用していないことを確認してください

gem list rack

次のようなものが表示された場合:

rack-1.6.0.beta

このバージョンをアンインストールして、以前のバージョンのrack-1.5.2を使用してください

于 2014-10-10T03:03:02.053 に答える