Предположим, существует материал с отношением has_many с AttributeType.Я могу найти Родителя Детей, имя которого равно "abc".Я хочу найти Родителя, который не содержит ребенка, имя которого равно "abc".Я уже пробовал что-то вроде этого:
attribute_types = @place.materials.collect(&:attribute_types).flatten.select{|at| at.name != "abc"}.flatten
, но так как он только не подхватывает ребенка с именем "abc", он все равно получает братьев и сестер.Поэтому, когда я использую:
materials = @place.materials.where(id: attribute_types.map(&:material)).uniq
Он по-прежнему получает запись, которая мне не нужна.
Что я ищу, так это когда несколько материалов имеют attribute_types 'abc', 'def 'и' ghi ', я хочу найти материал, в котором нет' abc '.