rails5.2新特性--ActiveStorage, 使用80percent/rails-template
看guide,看ruby-China的好贴,看最新版的书上案例。
以下摘自https://ruby-china.org/topics/36666 作者lyfi2003
用户对上传文件的要求体验:
- 上传过程可预览,可裁剪
- 上传有进度
- 能直传到云端(例如又拍,七牛,阿里等云存储)
ActiveStorage
- 直接支持直传
- 默认支持云端存储
- 一键安装
两个问题,需要⚠️:
- 迁移成本,Rails 5.1 升级时需要仔细调整,例如将
carrierwave改为 ActiveStorage - ActiveStorage 与 ActionCable 类似,都是前后端紧急配合,并与 Rails 框架绑的非常深,对于一般工程师掌控它,并想有所定制并不太轻松。
5.2其他特点:
Bootsnap 技术应用,Rails 服务启动速度节省 50%:
- 路径预扫描
- 编译过程缓存技术
Rails5.2其他改进
1.加密配置文件支持。
使用Credentials。通过master.key和credentials.yml.enc加密配置,可以将关键的配置直接加入到版本控制中,解决一些配置问题。比之前的备份方案先进一些。
2. Redis Cache Store内建支持(使用那个缓存存储器由使用者决定。)
3. webpacker升级支持。 (方便rails内安装前端的库)
4. 增加HTTP/2的early hints特性。⚠️这个不懂。
零成本开启这个功能,让rails在HTTP/2支持的浏览器中加载的更快。
5.内容安全策略Content Security Policy。⚠️这个也不懂。
Rails 现在可以通过 DSL 语法定义内容安全策略,确保避免注入型漏洞,使得 Rails 应用更加安全。详见 PR和内容安全策略解释
总结:
5.2发布的核心就是完善上传功能的内建支持,以及速度一项的改进,加载更快,启动更快。
升级使用:rails app:update开始升级。
开全新的rails5.2 作者推荐中国玩家使用 80percent/rails-template,更快更好地调整好默认配置。
80percent/rails-template
gem source --add <url> --remove #选项add是增加一个url源,remove是去掉。
这里使用
$ gem sources --add https://gems.ruby-china.org/ --remove https://rubygems.org/
结果使用gem sources --list查看。
增加网址:gem.ruby-china.org 到你的bundle mirrors(可选)
使用bundle config -h可以找到
rails5.2新特性--ActiveStorage, 使用80percent/rails-template的更多相关文章
- Credentials(Rails5.2新) 很基础的知识点,具体还要实操。
Credentials(Rails5.2新) 增加config/credentials.yml.enc 憎加config/master.key 移除了5.1使用的config/secrets.yml, ...
- SQL Server 2014 新特性——内存数据库
SQL Server 2014 新特性——内存数据库 目录 SQL Server 2014 新特性——内存数据库 简介: 设计目的和原因: 专业名词 In-Memory OLTP不同之处 内存优化表 ...
- ElasticSearch 5学习(10)——结构化查询(包括新特性)
之前我们所有的查询都属于命令行查询,但是不利于复杂的查询,而且一般在项目开发中不使用命令行查询方式,只有在调试测试时使用简单命令行查询,但是,如果想要善用搜索,我们必须使用请求体查询(request ...
- [干货来袭]C#6.0新特性
微软昨天发布了新的VS 2015 ..随之而来的还有很多很多东西... .NET新版本 ASP.NET新版本...等等..太多..实在没消化.. 分享一下也是昨天发布的新的C#6.0的部分新特性吧.. ...
- CSS3新特性应用之结构与布局
一.自适应内部元素 利用width的新特性min-content实现 width新特性值介绍: fill-available,自动填充盒子模型中剩余的宽度,包含margin.padding.borde ...
- 【译】Meteor 新手教程:在排行榜上添加新特性
原文:http://danneu.com/posts/6-meteor-tutorial-for-fellow-noobs-adding-features-to-the-leaderboard-dem ...
- 跨平台的 .NET 运行环境 Mono 3.2 新特性
Mono 3.2 发布了,对 Mono 3.0 和 2.10 版本的支持不再继续,而且这两个分支也不再提供 bug 修复更新. Mono 3.2 主要新特性: LLVM 更新到 3.2 版本,带来更多 ...
- Atitit opencv版本新特性attilax总结
Atitit opencv版本新特性attilax总结 1.1. :OpenCV 3.0 发布,史上功能最全,速度最快的版1 1.2. 应用领域2 1.3. OPENCV2.4.3改进 2.4.2就有 ...
- es6 新特性2
es6其他几个非常有用的新特性. import export 这两个家伙对应的就是es6自己的module功能. 我们之前写的Javascript一直都没有模块化的体系,无法将一个庞大的js工程拆分成 ...
随机推荐
- Animate CC 2017
一.Animate CC 2017 下载及安装 http://www.ddooo.com/softdown/86853.htm
- Modulo operation
Modulo operation - Wikipedia https://en.wikipedia.org/wiki/Modulo_operation https://baike.baidu.com/ ...
- Python之numpy基本指令
https://blog.csdn.net/mmm305658979/article/details/78745637 # -*- coding: utf-8 -*- 多加练习才是真 import n ...
- python基础之协程函数、列表表达式、生成器表达式
一.协程函数 协程函数的定义?如果在一个函数内部yield的使用方式是表达式形式的话,如x=yield,那么该函数称为协程函数 协程函数补充: def init(func): def wrapper( ...
- Network of Schools---poj1236(强连通分量)
题目链接 题意:学校有一些单向网络,现在需要传一些文件 求:1,求最少需要向几个学校分发文件才能让每个学校都收到, 2,需要添加几条网络才能从任意一个学校分发都可以传遍所有学校. 解题思路(参考大神的 ...
- 二.re库介绍
一.re库的主要功能函数 1.re.search()用法 2.re.match()的用法 >>> match=re.match(r'[1-9]\d{5}','BIT 100081') ...
- EasyUI Draggable 可拖动
通过 $.fn.draggable.defaults 重写默认的 defaults. 用法 通过标记创建可拖动(draggable)元素. <div id="dd" clas ...
- Jenkins的持续集成
持续集成:不需要人工干预,持久化.重复的运行一个任务.将代码自动的更新到最新,然后自动运行. 新建项目之前要再Jenkins的全局工具配置里面把git的路径设置好.[全局工具配置]-->[Git ...
- jquery map方法使用示例
jquery的map方法非常好用,其作用是将数组或单个对象,替换为新的内容 感觉jquery的map方法非常好用. 方法作用:将数组或单个对象,替换为新的内容. 应用实例:获取一组checkbox的 ...
- python3 os.walk()使用
os.walk() 方法用于通过在目录树种游走输出在目录中的文件名,向上或者向下. 在Unix,Windows中有效. os.walk(top[, topdown=True[, onerror=Non ...