Ruby on rails 3 是否可以对AR集合使用ActiveRecord方法?

Ruby on rails 3 是否可以对AR集合使用ActiveRecord方法?,ruby-on-rails-3,activerecord,Ruby On Rails 3,Activerecord,我希望能够从数据库中提取所有记录: u = User.all 然后,一旦加载,您就能够将AR方法应用于生成的集合: u.first 这在rails中可能吗?一旦实际查询数据库,结果将变成一个数组,而不是ActiveRecord::Relation。(尽管#first仍然可以正常工作,因为它也是数组中存在的一种方法) 如果您只需要一个起点来构建ActiveRecord::Relationship,那么您可以使用作用域: # Doesn't execute a query yet u = U

我希望能够从数据库中提取所有记录:

 u = User.all
然后,一旦加载,您就能够将AR方法应用于生成的集合:

 u.first

这在rails中可能吗?

一旦实际查询数据库,结果将变成一个数组,而不是ActiveRecord::Relation。(尽管
#first
仍然可以正常工作,因为它也是
数组
中存在的一种方法)

如果您只需要一个起点来构建ActiveRecord::Relationship,那么您可以使用
作用域

# Doesn't execute a query yet
u = User.scoped
# This now executes a query similar to SELECT * FROM users LIMIT 1
u.first

请注意,在Rails 4.0中,
#all
现在执行与
#scoped
相同的操作(而在Rails 3中,它返回一个数组)。

为什么不试试呢?

User.all
不返回AR集合,而是返回数组。去掉
.all
,您将得到一个有效的示例