У меня есть таблица соединений, которую я использую для поиска доступных услуг для формы заказа; в этой таблице есть utility_id
и company_id
.
Мне нужна группа (хеш), где ключами являются имена утилит, а значениями являются хэши соответствующих компаний.
Я получил следующее ...
Service.find(:all).to_set.classify { |service| Utility.find(service.utility_id).name }
... который очень хорошо дает мне хэш, где ключами являются имена утилит, но значения устанавливают записей сервиса, а не только названия компаний (мне не нужны фактические записи), и я не могу понять, как бы я сделал хеш, который я хочу:
# example of what I would like to have
{"electricity" => {"conEd" => 1, "Dominian" => 2}, "gas" => {"conEd" => 1}}
# where the key is Utility.name, and the value-hash is {Company.name => Company.id}
Как бы я это сделал?