首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >HTTP::Server::Response#headers的`[]=`和`add`有什么区别?

HTTP::Server::Response#headers的`[]=`和`add`有什么区别?
EN

Stack Overflow用户
提问于 2018-06-10 03:22:36
回答 1查看 58关注 0票数 1

我在adding/manipulating headers时查看了[]=.add的源代码。我仍然不明白为什么有两种方法来添加/设置头部。这两种方法有什么不同?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-10 09:18:21

[]=使用新的值数组替换所有标题键内容

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"]
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50777732

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档