2016-12-02 63 views

回答

5

Scope添加一個用於檢索和查詢對象的類方法。

考慮一個簡單的例子 你有一個名爲襯衫的表格有很多列。現在,如果你想爲紅色的襯衫,那麼你可以簡單地做這樣的襯衫模型

class Shirt < ActiveRecord::Base 
    scope :red_shirts, -> { where(color: red) } 
end 

現在,這可以讓你通過簡單地做這個訪問紅衫軍:

Shirt.red_shirts.each do 
    #do_something 
end 

你可以使用類方法,但它需要一點額外的工作。範圍更喜歡返回範圍,所以它們很容易鏈接在一起。