Ruby on Rails как преобразовать выборку ActiveRecord:Relation в hash?

Здравствуйте
Подскажите как преобразовать подобную выборку в hash где ключом будет являться поле external_key , которое 100% уникально.

Выборка:
Customer.all
[#<Customer id: 1, name: "Рога", external_key: "00002256">,  #<Customer id: 1, name: "Копыта", external_key: "00002257">]


Хэш, который хотелось получить?

{'00002256' => 1, '00002257' => 2}

Хэш такого плана хочу получить для того чтобы было проще искать по полю external_key.
  • Вопрос задан
  • 3753 просмотра
Решения вопроса 2
kirillplatonov
@kirillplatonov
Ruby on Rails developer
hash = {}
Customer.all.find_each { |c| hash[c.external_key] = c.id }
Ответ написан
sck_v
@sck_v
exflow.io
Customer.all.map { |c| { c.external_key => c.id } }.inject(&:merge)
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@vsuhachev
Customer.all.pluck(:external_key, :id).to_h
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы