定义了一个 Catalog 的 Model 其中有个
scope :about, ->{find_by(slug: 'about')}
为什么执行出来的结果是不确定的,即有时候执行一条 SQL,有时候执行二条 SQL(在 console 中看到这样情况):
2.0.0-p0 :010 > Catalog.about
Catalog Load (0.3ms) SELECT `catalogs`.* FROM `catalogs` WHERE `catalogs`.`slug` = 'about' ORDER BY `catalogs`.`id` ASC LIMIT 1
Catalog Load (0.2ms) SELECT `catalogs`.* FROM `catalogs`
结果是返回全部的 catalog 内容,如果我直接在 console 运行
.0.0-p0 :007 > Catalog.find_by(slug: 'abount')
Catalog Load (0.4ms) SELECT `catalogs`.* FROM `catalogs` WHERE `catalogs`.`slug` = 'abount' LIMIT 1
=> nil
这是什么情况?谢谢