2013-02-13 119 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