Padrino / Sinatra:如何在“后”过滤器中修改响应?

时间:2015-04-14 13:59:47

标签: ruby sinatra response padrino

我无法理解我的想法。让我们说我有一个控制器如下:

get :test do
  status 201
  body "test"
end

after do
  status 404
  body "not found"
end

现在,访问/测试产生状态为404和body" test"的响应。我该怎么做呢?

另外,我注意到我可以省略 body ,如

get :test do
  status 201
  "test"
end

并且响应保持不变,但调用response.body后来返回空数组而不是实际内容。为什么这么混乱,是Padrino和Sinatra之间的某种不一致吗?我在这里想念的是什么,有人在乎解释吗?

1 个答案:

答案 0 :(得分:0)

我认为您要覆盖默认的Sinatra未找到消息? 你可以这样做

get :test do
  "test"
end

error Sinatra::NotFound do
  content_type 'text/plain'
  [404, 'Not Found']
end