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

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}]}

Как правильно это сделать?
  • Вопрос задан
  • 2642 просмотра
Подписаться 5 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 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).....
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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