1. 程式人生 > >rails5.2新特性--ActiveStorage, 使用80percent/rails-template

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

space temp 解決 packer bfc dev undle 緩存 默認

看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,更快更好地調整好默認配置。



80percent/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