Как получить без учета регистра уникальные поля, используя уникальные поля в ruby ​​on rails? - PullRequest
2 голосов
/ 20 сентября 2019
options(orders.map { |order| ["#{order['name']} (#{order['id']})", order['name']] }.uniq )
  1. AUS00012 FUND1
  2. AUS00012 fund1
  3. AUS00056 fund3
  4. AUS00056 FUND3

Возвращает как верхний, так и нижний регистрзаписей.Как я могу получить только заглавные имена?

1 Ответ

2 голосов
/ 20 сентября 2019

Вы можете передать блок на uniq и вызвать downcase (или upcase по вашему желанию) для объекта yield:

options(
  orders.uniq { |order| order['name'].downcase }
        .map { |order| ["#{order['name']} (#{order['id']})", order['name']] }

)

Возможно, вы можете попробовать изменить свой запрос:

# Using Postgres
Order
  .select('DISTINCT(UPPER(name)), *')
  .order('UPPER(name)')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...