iT邦幫忙

鐵人檔案

2022 iThome 鐵人賽
回列表
Software Development

Rails Active Model 系列

因為工作需要,開始研究 Rails 內建的 Active Model,發現裡面真的藏了非常多很好用的玩意兒!
除了可以幫助你的 code 變得更簡潔、更易於擴充或修改的同時,還能夠擁有很多方便的功能!
但同為 Rails 工程師的同事們對於 Active Model 都只是停留在聽說過的階段,因此藉著這次機會向大家傳教 Active Model 的好處!

參賽天數 26 天 | 共 28 篇文章 | 4 人訂閱 訂閱系列文 RSS系列文
DAY 1

D-1 序:為什麼要研究 Active Model

本人目前任職於 SHOPLINE 的 Product Operation 產品維運工程師,工作內容除了處理一些店家遇到的線上異常狀況回報,或者滿足一些比較客製化...

2022-09-15 ‧ 由 koten0224 分享
DAY 2

D-2 Active Model 本身有什麼功能? - assign_attributes

有使用過 Active Model 的朋友應該都知道,只要在 new 時傳入一包 params,他就會自動把每個 value 按照 key 塞進 object...

2022-09-16 ‧ 由 koten0224 分享
DAY 3

D-3 Active Model 本身有什麼功能? - define_model_callbacks

因為Active Model本身是沒有任何 callback 可用的,因此需要根據您規劃的 lifecycle,額外去自定義。至於 lifecycle 要怎麼規...

2022-09-17 ‧ 由 koten0224 分享
DAY 4

D-4 Active Model 擴充功能 - Attributes - 1

前面大致帶過 Active Model 的基本功能了,接著再講講擴充功能 ActiveModel::Attributes class MyClass inc...

2022-09-18 ‧ 由 koten0224 分享
DAY 5

D-5 Active Model 擴充功能 - Attributes - 2

上一篇講解過了 attribute 的用法,這次再講講預設值的設定只要在 attribute 的傳入參數加上 option default: (value),就...

2022-09-19 ‧ 由 koten0224 分享
DAY 6

D-6 傳入的 attribute 不會被 assign 為 instance variable !

前面我們介紹過了 attribute 的用處,接著我們來探討一下與平常習慣的 attr_accessor 有什麼不同。 他跟 attr_accessor 不一樣...

2022-09-20 ‧ 由 koten0224 分享
DAY 7

D-7 attribute 預設值不能直接使用容器型別

設定 attribute 預設值為容器型別,接著建立實體時不傳值,讓物件套用預設值,接著對這個預設值物件進行操作,會污染到 class 原本設定的預設值。 不一...

2022-09-21 ‧ 由 koten0224 分享
DAY 8

D-8 Active Model 本身有什麼功能? - validation

大部分有使用過 Active Model 的朋友們,都知道他有基本的 validation 可以使用,就像 Active Record 一樣。 下面快速幫讀者複...

2022-09-22 ‧ 由 koten0224 分享
DAY 9

D-9 Active Model 擴充功能 - Validation callbacks

Active Model 其實還有個可供擴充的 module ,在使用它之後,就可以加上像是 before_validation after_validatio...

2022-09-23 ‧ 由 koten0224 分享
DAY 10

D-10 Active Model 自定義可共用的 validator - 1

說到自定義的 validation,大多數人通常第一時間會想到的是 validate,單數的、沒有 s 的 validate,這個方法可以用來指定物件要在 v...

2022-09-24 ‧ 由 koten0224 分享