2

我遇到过这段代码:

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

“范围”语句指的是什么?谷歌很难做到。

4

1 回答 1

4

我认为上述代码段的本质是:“如果提供了搜索参数,则创建一个限制返回记录的 ActiveRecord 查询。否则,返回一个空白查询。” 所以“作用域”是一个(名字很奇怪的)对象,它代表一个可以在最终执行之前进一步细化的查询。

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

于 2013-02-13T07:18:05.230 回答