Join and Includes我們在開發的時候免不了關聯資料庫,在撈資料的時候也常常會需要用到 joins 跟 includes 所以,我們什麼時候會用到 joins 跟 includes 要尋找跟其他 model 有關聯的資料 避免 N + 1 問題 ** N + 1 問題是什麼呢?當我們查詢多筆資料時,...
我們在先前文章提過,Dockerfile 是我們用來建立 Image 的檔案 我們可以把 Dockerfile 想像成是千層蛋糕每一層為一個 LayerImage 就是層層堆疊後的千層蛋糕 讓我們來看一下 DockerHub 裡的 Ruby 按到 Tags 頁籤,任意按一個版號進去,就會看到像是歷史紀錄的畫面,...
身為一個 Rails Developer寫測試是必備的基本功 今天就來跟大家聊聊寫測試這件事 什麼是測試? 為什麼要寫測試? 測試分成哪些類型 有哪些工具可以幫我們完成測試? 測試該從哪開始? 3A 原則 什麼是測試?我們來看看維基百科怎麼定義。 測試 描述一種用來促進鑑定軟體的正確性、完整性、安全性和品...
Parameter我們有時候會需要存取參數來作業,在 web application 中會有兩種參數的來源 query string (放在?後面) 以 POST 方法傳送 request 時,data 裡面的 query 在這之前,我們先來看一下 Rails 是怎麼去存取 parameter 的 是的,你...
點選按鈕,常常給你一大片空白,或者是一動也不動 這是所謂的 Turbolinks 在作祟 大家都避之唯恐不及的 Turbolinks Rails 團隊為什麼要把它放進來呢? 甚至在 Rails 7 升級成 Turbo ? 加速器Turbolinks 監控網頁中的所有連結,將預設事件停止 並且在按下連結那一刻,T...
在 Rails 中,如果沒有自動載入我們就需要使用 require 來載入相關檔案 有了 automatic loadingRail 會自動載入 lib 、標準函式庫、gem等 Controller 本身是個 class假如今天找不到 Controller 會跑出一串錯誤訊息 const_missing 可以幫我...
今天我們來加點 debug 機制吧 用 Rack Environment debug step 1 印出環境變數我們在 a_quote 中把 Rack env 這個東西印出來看看 12345678# quotation/app/controllers/quotes_controller.rbclass Quot...
框架終於有一點雛形了相關的 gem 也都安裝完成了接下來就是做 Controller 啦! 首先,我們先將 version 升成 0.0.2 變更 versionstep 1 刪除 rainbow-0.0.1.gemstep 2 git add .step 3 更改 version 為 0.0.2123modul...
建立好基本的框架及應用程式後我們要來把框架做得更完善一點啦! debugging我們先從建立 debugging 開始這邊並不是真的寫 debug 功能 而是先用簡單的方式來模擬 debug在之後我們會再更深入的介紹 step 1 在 rainbow 加入 debugging 訊息12345678910111...
Model我們會把這些東西放在Model 商業邏輯方法 資料驗證(寫入資料庫前) 資料表關聯 商業邏輯方法簡短方法可用 scope 來寫*小提醒:where 都放在 Model 寫,不要放 Controller 1scope :available, -> { where(deleted_at:...