У меня есть модель ActiveRecord Language
, со столбцами id
и short_code
(есть другие столбцы, но они не имеют отношения к этому вопросу). Я хочу создать метод, который получит список коротких кодов и вернет список идентификаторов. Меня не волнуют ассоциации, мне просто нужно получить массив, который выглядит как [1, 2, 3, ...].
Моей первой мыслью было сделать что-то вроде
def get_ids_from_short_codes(*short_codes)
Language.find_all_by_short_code(short_codes.flatten, :select => 'id').map(&:id)
end
но я не уверен, что это напрасно тратит время / память / обработку.
У меня двоякий вопрос:
- Есть ли способ запустить поиск ActiveRecord, который будет просто возвращать массив определенного столбца таблицы, а не создавать экземпляры объектов?
- Если это так, стоило бы на самом деле собирать массив длиной n вместо создания n объектов ActiveRecord?
Обратите внимание, что для моей конкретной цели n будет примерно 200.