В моем приложении для направляющих я циклично выполняюсь через массив для создания списка условий, которыми нужно присоединиться ИЛИ. Ниже основной поток того, как я в настоящее время делаю так.
conditions = nil
set.each do |value|
condition = value.to_condition
conditions = conditions ? conditions.or(condition) : condition
end
Очевидно, это не красиво, но я все еще не полностью знаю свой путь вокруг Arel. Это предлагает какой-либо лучший способ ИЛИ ПРИСОЕДИНЕННОГО ряда динамично сгенерированных условий?
Думаю, в основном все. Я бы инициализировал условия для базового объекта, чтобы избежать троичного:
scope = Article
set.each{|v| scope = scope.or(v.to_condition)}