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工程拆分成 ...
随机推荐
- MySQL Bugs: #34354: Feature request: EXPLAIN ALTER TABLE https://bugs.mysql.com/bug.php?id=34354
MySQL Bugs: #34354: Feature request: EXPLAIN ALTER TABLE https://bugs.mysql.com/bug.php?id=34354 [SQ ...
- nginx repos
vim /etc/yum.repos.d/nginx.repo 然后将下面的内容复制进去: [nginx] name=nginx repo baseurl=http://nginx.org/packa ...
- talib 中文文档(十):Price Transform Functions 价格指标
Price Transform Functions AVGPRICE - Average Price 函数名:AVGPRICE 名称:平均价格函数 real = AVGPRICE(open, high ...
- 小米范工具系列之十:小米范SSH批量命令执行工具
小米范SSH批量命令执行工具的主要功能是自动登录多台机器,并执行指定的命令,比如批量抓取shadow.批量获取系统版本.或者做基线时批量抓取配置等. 此工具使用java 1.8以上版本运行. 界面如下 ...
- python技巧总结之set、日志、rsa加密
一.日志模块logging模块调用 1.日志模块使用原理 #!/usr/bin/python # -*- coding:utf-8 -*- import logging # 方式一: "&q ...
- github使用方法
1:fork别人的项目后,更新别人最新的提交 https://blog.csdn.net/qq1332479771/article/details/56087333 2:在idea中push工程 ...
- Django组件拾忆
知识预览 一 Django的form组件 二 Django的model form组件 三 Django的缓存机制 四 Django的信号 五 Django的序列化 回到顶部 一 Django的form ...
- C++ builder 书籍推荐
china-pub网上书店c++builder书籍专区,本专区专门为c++builder学习者提供目前最为畅销实用的c++builder技术书籍,通过对本专区c++builder书籍的了解,让您学习c ...
- WebService-WSDL简单介绍
一.什么是WSDL 网络服务描述语言(Web Services Description Language)简称WSDL.作用是通过接口之间的调用实现数据的传输.由于WSDL是基于XML格式的,所以它可 ...
- 2016-ccf-data-mining-competition 搜狗用户画像构建
想法1: 分成147(3*7*7)类, 后来觉得这样效果不好,后来看了看竞赛要求的也是分别预测,分别评分,而不是一次就把3类的标签都给出 所有后来我们改进了当时的想法,决定对年龄,性别,学历进 ...