Здравствуйте. База данных Postgresql Как правильно соединять таблицу с полиморфическим полем. Мне например нужно вывести в поле
organization значение с той или иной таблицы в зависимости от полиморфической связи. Я делаю на уровне БД, есть ли другие варианты. Спасибо?
class User < ApplicationRecord
belongs_to :userable, polymorphic: true, optional: true
belongs_to :supplier, foreign_key: :userable_id, optional: true
belongs_to :institution, foreign_key: :userable_id, optional: true
end
@users = User
.left_outer_joins( :institution, :supplier )
.select( :username,
" CASE users.userable_type WHEN 'Institution' THEN institutions.name WHEN 'Supplier' then suppliers.name else '' END AS organization"
)
.order( :username )