可以重定向和显示Sinatra的内容?

时间:2013-09-21 19:29:08

标签: redirect sinatra

我想使用Sinatra路由进行重定向并显示重定向消息。所以

http://api.mysite.com/product/123.html会这样做

redirect product.url, 301

AND输出

"redirecting..."

这可能吗,代码会是什么样的?

1 个答案:

答案 0 :(得分:0)

来自the Sinatra documentation for redirect

  

处理任何其他参数,如传递给halt的参数:

     
redirect to('/bar'), 303
redirect 'http://google.com', 'wrong place, buddy'

halting

  

您还可以在暂停时指定状态:

     
halt 410
     

或身体:

     
halt 'this will be the body'
     

或两者:

     
halt 401, 'go away!'

所以你可以这样做:

redirect product.url, 301, "redirecting..."

虽然HTTP spec says

  

...响应的实体应该包含一个简短的超文本注释,其中包含指向新URI的超链接。

所以你可能想要这样做:

redirect product.url, 301, "redirecting to #{product.url}..."