我遇到过这段代码:
def self.search(search)
if search
where(['title LIKE ? OR description LIKE ? ', "%#{search}%", "%#{search}%"])
else
scoped
end
end
“作用域”声明指的是什么? Google 出奇地难。
最佳答案
我认为上面代码片段的本质是:“如果提供了搜索参数,则创建一个 ActiveRecord 查询来限制返回的记录。否则,返回一个空白的石板查询。”因此,“作用域”是一个(名称奇怪的)对象,它代表一个可以在最终执行之前进一步细化的查询。
关于ruby-on-rails - 在 Ruby 中, "scoped"是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14848345/