Ruby on rails 如何保持代表其类的数组?
如果我像这样取一个数字Ruby on rails 如何保持代表其类的数组?,ruby-on-rails,Ruby On Rails,如果我像这样取一个数字对象: @objects = Object.all[1..5] 我不能再对@object执行where方法 不管怎样,我仍然可以表演 @objects.where(:attribute => identity) 只要我知道所有对象都属于同一类?一旦触发了all就会返回一个数组实例,因此您的问题的答案是否。但也有一些问题: 保留一个范围变量。也就是说,如果需要在多个位置使用作用域对象,请执行以下操作: objects = Object.scoped all_obj
对象
:
@objects = Object.all[1..5]
我不能再对@object
执行where
方法
不管怎样,我仍然可以表演
@objects.where(:attribute => identity)
只要我知道所有对象都属于同一类?一旦触发了
all
就会返回一个数组实例,因此您的问题的答案是否。但也有一些问题:
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 }
一旦您触发了
all
,就会返回一个数组实例,所以您的问题的答案是否。但也有一些问题:
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]
或类似的东西。这只是为了在同一类中创建一个相互对象数组。恐怕您不是,因为您需要ActiveRecord集合,而不是数组。尝试使用limit(5)
而不是[1..5]
或类似的东西。这只是为了在同一类中创建一个相互对象数组。哇,太棒了!非常感谢你的支持!这正是我要找的。++打电话给select
hackey:太棒了!非常感谢你的支持!这正是我要找的。++打电话给select
hackey:D