Rails3/ruby​​ gem中是否有一个方法,它将状态代码映射到消息?

She*_*hea 16 ruby render http-status-codes ruby-on-rails-3

200 => Found
403 => Not authorized
404 => Not found
Run Code Online (Sandbox Code Playgroud)

我猜Rails 3已经有了这个功能,因为你可以传递哈希render :status => :not_found,我只是找不到方法来做其他方式.如果没有人知道可以做到这一点的宝石?

Vas*_*ich 25

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"
Run Code Online (Sandbox Code Playgroud)

要么

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
Run Code Online (Sandbox Code Playgroud)

  • [HTTP状态代码]列表(https://github.com/chneukirchen/rack/blob/master/lib/rack/utils.rb#L397)和[如何使用已定义代码的符号](https: //github.com/chneukirchen/rack/blob/master/lib/rack/utils.rb#L454) (3认同)