我希望能够从db中提取所有记录:
u = User.all
然后一旦加载就能将AR方法应用于生成的集合:
u.first
这可以在铁轨中使用吗?
答案 0 :(得分:1)
实际查询数据库后,结果将变为数组而不是ActiveRecord :: Relation。 (虽然#first
仍然可以正常工作,因为它是Array
)上也存在的方法。
如果你只是需要一个起点来构建一个ActiveRecord :: Relation,你可以使用scoped
:
# 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中,它返回一个数组)。
答案 1 :(得分:0)
你为什么不尝试?
User.all
不会返回返回数组的AR集合。摆脱.all
,你将有一个有效的例子。