Вот как я присоединился к SQL-запросам с помощью UNION в своем собственном приложении ruby on rails.
Вы можете использовать нижеприведенное в качестве вдохновения для своего собственного кода.
class Preference < ApplicationRecord
scope :for, ->(object) { where(preferenceable: object) }
end
Ниже представлен UNIONгде я присоединился к областям видимости.
def zone_preferences
zone = Zone.find params[:zone_id]
zone_sql = Preference.for(zone).to_sql
region_sql = Preference.for(zone.region).to_sql
operator_sql = Preference.for(Operator.current).to_sql
Preference.from("(#{zone_sql} UNION #{region_sql} UNION #{operator_sql}) AS preferences")
end