Вы можете использовать предложения where
для включения / исключения в SQL:
( inc.empty?
? where.not( :authorizable_type => exc )
: where( :authorizable_type => inc )
).map(&:authorizable)
Используя authorizable
, вы получите собственную обработку Rails полиморфных ассоциаций, которая обеспечит возврат только реальных объектов, поэтому нет необходимости проверять nil