Rails Webpacker 筆記

在 Javascript 不斷快速變化的今日,對 Rails 而言一直有個相對支援度較不足的地方,那就是支援一些較新的 Javascript 封裝機制(bundle)。不過從 5.1 開始這個大家希望的功能將會支援 - 全新的 webpacker gem。

Rails 5.1 開始內建可以使用 --webpack 參數開啟支援 webpackeryarn,並且支援整合 ReactAngularVueelm 等。

繼續閱讀

開發時期,CarrierWave 重產不同 version 圖片

當增加不同 version 的尺寸需要對已上傳的圖片從新產生新尺寸的圖片時

1
> rails c

輸入

1
2
3
4
Attachment.all.each do |att|
att.image.recreate_versions!
att.save!
end

Heroku 無法 fetch gem

當我們在本機設定 gem 的時候有時候會採用直接從 github 下載的方式

1
gem 'datetimepicker-rails', github: 'zpaulovics/datetimepicker-rails', branch: 'master', submodules: true

不過當我們要把程式碼部署到雲上的主機時,有些時候會碰上該機器無法去 fetch repo 的狀況

這個時候請參考這邊改變設定即可

rake db 常用指令備註

1
2
3
4
5
6
7
8
9
10
11
12
$ rake db:create          # Create the database from DATABASE_URL or config/database.yml for the current Rails.env (use db:create:all to create all dbs in the config)
$ rake db:drop # Drops the database using DATABASE_URL or the current Rails.env (use db:drop:all to drop all databases)
$ rake db:fixtures:load # Load fixtures into the current environment's database
$ rake db:migrate # Migrate the database (options: VERSION=x, VERBOSE=false)
$ rake db:migrate:status # Display status of migrations
$ rake db:rollback # Rolls the schema back to the previous version (specify steps w/ STEP=n)
$ rake db:schema:dump # Create a db/schema.rb file that can be portably used against any DB supported by AR
$ rake db:schema:load # Load a schema.rb file into the database
$ rake db:seed # Load the seed data from db/seeds.rb
$ rake db:setup # Create the database, load the schema, and initialize with the seed data (use db:reset to also drop the db first)
$ rake db:structure:dump # Dump the database structure to db/structure.sql
$ rake db:version # Retrieves the current schema version number

Devise 快速上手

devise 使用筆記

Devise 是一套彈性的驗證機制解決方案,它是根據 Warden 為架構的基礎延伸的。Devise 本身具備

  • 支援 rake
  • 架構在 Rails 之上提供完整的 MVC 方案
  • 提供您可以使用多個 Model 在同一時間登入
  • 模組化,您只需要採用您需要的部份
繼續閱讀

ActionPack 雜記

Action Pack

Action Pack 是整個 Rails 的核心部份,由 ActionDispatch, ActionController, ActionView 組成
ActionDispatch 處理接收到的請求(Requests),即網址的部分,ActionController 負責把請求對應轉換成回應(Responses)
接著 ActionController 調用 ActionView 來處理回應的格式(html, js, json, xml) 等

繼續閱讀