如果我采取Object
这样的数字:
@objects = Object.all[1..5]
我不再可以where
对@object
.
反正有吗,我还能演。。
@objects.where(:attribute => identity)
只要我知道所有对象都属于同一类?
如果我采取Object
这样的数字:
@objects = Object.all[1..5]
我不再可以where
对@object
.
反正有吗,我还能演。。
@objects.where(:attribute => identity)
只要我知道所有对象都属于同一类?
一旦你触发all
了一个 Array 实例就会返回,所以你的问题的答案是no。但是有一些陷阱:
保留范围变量。即,如果您需要在多个地方使用作用域对象,请执行以下操作:
objects = Object.scoped
all_objects = objects.all
special_objects = objects.where(attribute: something_special).all
继续玩作用域:
objects = Object.skip(1).take(5)
all_objects = objects.all
special_objects = objects.where(attribute: something_special).all
哈克和低效的方式:
all_objects = Object.all[1..5]
special_objects = object.select { |object| object.attribute == something_special }