如果我參加了一些Object
像這樣:如何保持一個代表其類的數組?
@objects = Object.all[1..5]
我再也不能在@object
執行where
方法。
反正是有,我仍然可以執行..
@objects.where(:attribute => identity)
只要我知道所有的對象都是同一類的?
如果我參加了一些Object
像這樣:如何保持一個代表其類的數組?
@objects = Object.all[1..5]
我再也不能在@object
執行where
方法。
反正是有,我仍然可以執行..
@objects.where(:attribute => identity)
只要我知道所有的對象都是同一類的?
一旦觸發all
返回Array實例,所以回答你的問題是沒有。但有一些陷阱:
保留一個作用域變量。即如果您需要使用多個地方範圍的對象,請執行下列操作:
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 }
恐怕你不是,因爲你需要ActiveRecord集合,而不是數組。嘗試使用'limit(5)'而不是'[1..5]'或類似的東西。 –
這只是爲了在同一個類中創建一個相互對象數組的例子。 – Trip