rails5.2新特性--ActiveStorage, 使用80percent/rails-template

Posted chentianwei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了rails5.2新特性--ActiveStorage, 使用80percent/rails-template相关的知识,希望对你有一定的参考价值。

看guide,看ruby-China的好贴,看最新版的书上案例。


 

以下摘自https://ruby-china.org/topics/36666 作者lyfi2003 

 

 用户对上传文件的要求体验:

  1. 上传过程可预览,可裁剪
  2. 上传有进度
  3. 能直传到云端(例如又拍,七牛,阿里等云存储)

ActiveStorage

  1. 直接支持直传
  2. 默认支持云端存储
  3. 一键安装

两个问题,需要??:

  1. 迁移成本,Rails 5.1 升级时需要仔细调整,例如将 carrierwave 改为 ActiveStorage
  2. ActiveStorage 与 ActionCable 类似,都是前后端紧急配合,并与 Rails 框架绑的非常深,对于一般工程师掌控它,并想有所定制并不太轻松。 
作者强烈推荐,必用.

 


5.2其他特点: 

Bootsnap 技术应用,Rails 服务启动速度节省 50%:

  1. 路径预扫描
  2. 编译过程缓存技术 


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,更快更好地调整好默认配置。
 



/rails-template

https://github.com/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可以找到??的命令: 

 bundle config mirror.SOURCE_URL MIRROR_URL 

这里使用:

$ bundle config mirror.https://rubygems.org https://gems.ruby-china.org

 


 不懂??:

??这个不是很明白,要求初始化一个用户 Ensure you have already initialized a user with username: postgres and password: postgres( e.g. $ createuser -d postgres )

 


最后,新建app时,下载模版:

rails new -m <url>

选项-m是 应用程序模版。 

这里:

$ rails new myapp -m https://raw.github.com/80percent/rails-template/master/composer.rb

 

 





以上是关于rails5.2新特性--ActiveStorage, 使用80percent/rails-template的主要内容,如果未能解决你的问题,请参考以下文章

在 Rails 5.2 上是不是有调用枚举的新方法?

Rails 5.2 无法使用 Sublime Text 打开 Rails 凭据

带有 Ruby 2.5.1 控制台的 Rails 5.2.0 - `warning:` `already` 已初始化常量 FileUtils::VERSION

Learn Rails5.2-- ActiveRecord, Query查询语法。

Learn Rails5.2 Routes摘录

Learn Rails5.2- Scaffolding and REST