2011-05-30 53 views
0

我想創建一個錯誤處理程序,根據錯誤的性質設置響應的主體。事情是這樣的:如何將數據傳遞給錯誤處理程序?

@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

使用內置settings此:

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 
相關問題