2013-02-13 71 views
1

我遇到這樣的代碼:在Ruby中,「scoped」是什麼意思?

def self.search(search) 
    if search 
     where(['title LIKE ? OR description LIKE ? ', "%#{search}%", "%#{search}%"]) 
    else 
     scoped 
    end 
    end 

什麼是「區域性」的語句是指什麼?對Google來說,這非常困難。

+0

在Ruby中,它只是一個方法調用。我相信你想問在Rails中這意味着什麼:) – samuil 2013-02-13 10:48:49

+0

謝謝! [............] – 2013-02-15 00:43:05

回答

2

我認爲上述代碼片段的實質是:「如果提供了搜索參數,則創建一個限制返回記錄的ActiveRecord查詢,否則返回空白的查詢。所以「scoped」是一個(奇怪命名的)對象,表示在最終執行之前可以進一步優化的查詢。

http://guides.rubyonrails.org/active_record_querying.html