rails — scope 與類別方法

Weiwei
Feb 7, 2021

--

當我們的查詢語法落落長的時候(ex. User.where(gender: “female”).where(age>20).limit(10) or Product.where(price>100))我們可以用scope把方法寫在Model中,以簡化程式碼、並使其更容易維護。

不但可以scope來簡化我們的程式碼,使用class method也有一樣的效果,只是兩者的差異在於,如果程式碼更複雜時,我們會傾向用class method來寫。

另外,如果我們想要讓所有查詢都符合某個條件的話,我們可以使用default_scope(ex. default_scope { limit(20)} )。

--

--

Weiwei
Weiwei

No responses yet