adding/manipulating headers时,我查看了[]=
和.add
的源代码。我仍然对两种添加/设置标题的方法感到困惑。这两种方法有什么区别?
答案 0 :(得分:6)
[]=
将所有标题键内容替换为新的值数组
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"]