Как передать данные в обработчик ошибок? - PullRequest
0 голосов
/ 30 мая 2011

Я хочу создать обработчик ошибок, который устанавливает тело ответа в зависимости от характера ошибки. Примерно так:

@the_error = Hash.new

get '/' do
 @the_error[:message] = "error message"
 400
end

error 400 do
 @the_error[:message]
end

Но это не работает должным образом (переменная @the_error равна Nil в обработчике get). Что я делаю не так, или, может быть, есть лучший способ сделать это?

1 Ответ

1 голос
/ 30 мая 2011

Используйте встроенные настройки для этого:

require 'sinatra'

set :the_error, Hash.new

get '/' do
  options.the_error[:message] = "error message"
  400
end

error 400 do
  options.the_error[:message]
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...