1

鉴于此接受标头:

application/vnd.example.api.json; version=42

有没有一种简单的方法来获取 的值version,而无需解析env['HTTP_ACCEPT']

顺便提一句:

检查request.accept,我们可以找到一个@params实例方法:

[#<Sinatra::Request::AcceptEntry:0x007fd214b3e500 @entry="application/vnd.example.api.json; version=42", @type="application/vnd.example.api.json", @params={"version"=>"42"}, @q=1.0>]

它们可能是访问它的一种方式...

4

1 回答 1

0

简短的回答应该是:是

长答案:去这里:https ://github.com/sinatra/sinatra/blob/master/lib/sinatra/base.rb#L74 看代码:

class AcceptEntry
  attr_accessor :params
  [...]
end

所以这应该归结为:

request.accept[0].params['version'] #=> 42
于 2013-10-25T22:32:28.157 回答