如题,我的环境是ruby2.4.1 rails 5.1.3 使用阿里云 oss 时读取配置遇到问题,按照 sdk 无法读取到配置
ruby2.4.1
rails 5.1.3
阿里 oss 建议
而我使用建议中的方法却读不出来值
aliyun_oss返回了`:endpoint 等,尝试用 [:endpoint] 读取,竟然成功了。
aliyun_oss
我的secrets.yml
secrets.yml
这个要看 aliyun 的代码了,现在有了 freeze string literal 特性,不需要为了性能强制用 symbol 做 Hash key
Hash 是 key 跟 value 的配對組合,在 Ruby 如果想要取用 Hash 裡的 value 必須要使用正確的 key 才能取用,拿不正確的 key 是拿不到東西的。hash["key"] 跟 hash[:key] 是不同的 key,前面那個 key 是 String,後面那個 key 是 Symbol。
hash["key"]
hash[:key]
關於 Ruby 的 Hash,可參考拙作:
http://railsbook.tw/chapters/06-ruby-basic-2.html#hash_class
如果想了解什麼是 Symbol,可參考:
http://railsbook.tw/chapters/06-ruby-basic-2.html#symbol_class