myślę, że można zrobić tak przez zakresów
class User
has_many :properties
scope :max_properties,
select("users.id, count(properties.id) AS properties_count").
joins(:properties).
group("properties.id").
order("properties_count DESC").
limit(1)
scope :min_properties,
select("users.id, count(properties.id) AS properties_count").
joins(:properties).
group("properties.id").
order("properties_count ASC").
limit(1)
I wystarczy zadzwonić User.max_properties i User.min_properties
AKTUALIZACJA:
Będzie aslo pracę jak Boorama suggeted
class User
has_many :properties
scope :max_properties,
select("users.*, count(properties.id) AS properties_count").
joins(:properties).
group("users.id").
order("properties_count DESC").
limit(1)
scope :min_properties,
select("users.*, count(properties.id) AS properties_count").
joins(:properties).
group("users.id").
order("properties_count ASC").
limit(1)
które właściwości min, tj. W jakim polu? proszę opracuj –