在我的用户模型上,我有这些范围方法
class User < ActiveRecord::Base
scope :active, where(:deactivated => false)
end
我正在使用Amistad gem来处理用户之间的友谊,当我想要获取所有活跃用户时,我使用select方法。
@user =User.find(params[:id])
@friend =user.friends.select { |friend| friend.deactivated == false }
它工作得很好但我的postgreSql数据库上有很多很多查询,当我使用时在我的控制台上:
User.active
它给了我正确的价值,但是当我使用时。
User.first.friends.active
它给了我。
NoMethodError: undefined method `active' for #<Array:0x5eefa68>
您是否还有其他解决方案需要减少数据库查询?