Rails3 / ruby gem中是否有一种方法可以将状态码映射到消息?

17

例如

200 => Found
403 => Not authorized
404 => Not found

我猜想Rails 3已经具备了这个功能,因为你可以传递一个哈希值给render :status => :not_found,只是我找不到实现相反功能的方法。如果没有,有人知道可以使用哪个gem实现吗?

1个回答

26
irb(main):001:0> Rack::Utils::HTTP_STATUS_CODES[200]
=> "OK"
irb(main):002:0> Rack::Utils::HTTP_STATUS_CODES[403]
=> "Forbidden"
irb(main):003:0> Rack::Utils::HTTP_STATUS_CODES[404]
=> "Not Found"
或者
irb(main):004:0> Rack::Utils.status_code(:ok)
=> 200
irb(main):005:0> Rack::Utils.status_code(:forbidden)
=> 403
irb(main):006:0> Rack::Utils.status_code(:not_found)
=> 404

3
HTTP状态码列表及如何使用符号表示已定义的代码。 - Zabba
最新评论的HTTP状态码链接已更新:https://github.com/chneukirchen/rack/blob/master/lib/rack/utils.rb#L477-530 - DanielG

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接