我试图弄清楚如何提取一组数据然后再操作它,而不是在需要数据时查询数据库。我正在构建一个仪表板,出于性能原因这是必需的。
尽可能地愚蠢地说明这个例子,假设你想要吸引所有用户
users = User.all
然后你要过滤那些数据,但是你想在拉完所有数据之后这样做
my_users = users.where(is_admin: true)
我知道上一行不是我正在寻找的正确语法,但是我希望能够查询存储在users变量中的预加载数据。
我是否将活动关系转换为数组并循环查看每个项目的数组?例如我应该这样做
users.to_ary.reject{|u| u[:is_admin] == true }
或其他影响?
有更简单的方法吗?
答案 0 :(得分:0)
my_user = User.all.to_array.keep_if{|u| u.is_admin == true}
我认为这是最好的方式。