Альтернативой является просто отрицание вашей области:
def available_items
duration >= 365 ? Addition.where.not(id: Addition.insurance) : Addition.all
end
Хотя может быть более эффективно создать отрицательную область для вашей модели, например:
scope :not_insurance, -> { where.not(name: 'insurance' }
, а затем изменить available_items что-то вроде:
duration >= 365 ? Addition.not_insurance : Addition.all