Rails 5.2.0 beta: Active Storage, Redis Cache Store, HTTP/2 Early Hints, CSP, Credentials
5.2 增加了 Active Storage 框架,之前上传文件需要借助插件,现在直接集成在框架里了
简单看了下,以下是不完全总结。
redis key 由 views/projects/123-20120806214154/7a1156131a6928cb0026877f8b749ac9
变为 views/template/action.html.erb:7a1156131a6928cb0026877f8b749ac9/projects/123
方便回收。类似 ETAG
简单来说,把原来用 config/secrets.yml
存明文,现在变为 config/secrets.yml.enc
存密文 + 一个环境变量
RAILS_MASTER_KEY 做解密。
之后又把config/secrets.yml
变为 config/credentials.yml.enc
,主要是为了避免误解 (confusing) 。
环境变量是挺麻烦的东西,如果多机部署,每台机器都 source 下,挺蛋疼的。有了config/secrets.yml.enc
,就可以直接存密文,饭后 commit 到版本库里,服务器,只维护一个环境变量就可以了。减少了开发维护成本。
之前做个项目,用到的 gem,文件存储没用 carrierwave
,为了支持个七牛云,写的想死想死的(里面的代码太奇葩了),Active Storage 刚好解决这个问题。