HTTP::Server::Response#headers 的"[]="和"add&qu



我在添加/操作标头时查看了[]=.add的源代码。我仍然对有两种方法可以添加/设置标题的原因感到困惑。这两种方法有什么区别?

[]=将所有标头键内容替换为新的值数组

puts response.headers["Accept-Language"] # => ["de"]
response.headers["Accept-Language"] = "de-CH" # or ["de-CH"]
puts response.headers["Accept-Language"] # => ["de-CH"]

.add 检查标头键是否存在并附加值:

puts response.headers["Accept-Language"] # => ["de"]
response.headers.add "Accept-Language", "de-CH"
puts response.headers["Accept-Language"] # => ["de", "de-CH"]

最新更新