Задать вопрос

Rails вызов метод Postgresql?

Мне надо вызвать метод постгреса из рельс.

categories = Entity.joins(:language, :category).
        select("coalesce('entities.short_descr', 'categories.short_descr')").
        where('languages.code = ?', 'en')

render json: {status: 'ok', categories: categories}

это не работает, возвращает
{"status":"ok","categories":[{"coalesce":"entities.short_descr","id":null}]}

Как правильно это сделать?
  • Вопрос задан
  • 2644 просмотра
Подписаться 5 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Python-разработчик расширенный
    14 месяцев
    Далее
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Яндекс Практикум
    Мидл Python-разработчик
    6 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 3
Ответ написан
Комментировать
sck_v
@sck_v
exflow.io
....select("coalesce('entities.short_descr', 'categories.short_descr') as short_descr, entities.*")....
Ответ написан
Комментировать
Vakiliy
@Vakiliy
Может так?
t1, t2 = [Entity.arel_table .....
a = Arel::Nodes::NamedFunction.new('coalesce', [t1[:short_descr], t2[:short_descr]]).as('descr')
Entity.select(a).....
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы