在我的用户模型上,我有这些范围方法
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>
对于我需要更少的数据库查询,您还有其他解决方案吗?