Предположим, у меня есть модель только с двумя полями: название и название улицы .
Как бы узнать количество разных * названий улиц * в методе контроллера?
Это вернет общее количество различных названий улиц
Model.group(:street_name).all.count
Это вернет упорядоченный хэш с количеством имен на каждой улице
Model.group(:street_name).count
Попробуйте!
Model.find(:all,:select => 'DISTINCT street_name').size
почему бы вам не сделать 'count_by_sql', где бы вы использовали запрос select count(*) from (select distinct(street_name) from <table_name>)
select count(*) from (select distinct(street_name) from <table_name>)
В противном случае вы можете сделать это в ruby: <ModelName>.all.group_by(&:street_name).size
<ModelName>.all.group_by(&:street_name).size