내 Rails 앱에서 배열을 반복하여 OR로 결합해야하는 조건 목록을 만듭니다. 다음은 내가 현재 그렇게하는 기본 흐름입니다.Arel : 여러 조건을 OR로 깨끗하게 결합하는 방법은 무엇입니까?
conditions = nil
set.each do |value|
condition = value.to_condition
conditions = conditions ? conditions.or(condition) : condition
end
분명히, 그것은 아름답 지 않지만 나는 아직도 Arel 주위에 내 길을 완전히 모른다. 동적으로 생성 된 조건 집합에 OR 결합하는 더 좋은 방법을 제공합니까?
와우 - 나는'주사 '하는 것을 좋아하고, 그것을 과용하고, 어떻게 든이 시나리오를 놓쳤습니다! 감사! :) – Matchu
나는 그것이 ((c1 또는 c2) 또는 c3) 또는 c4)처럼 보이는 조건을 생성한다고 믿습니다. 그들을 (c1 또는 c2 또는 c3 또는 c4)로 정의 할 수 있는지 알고 있습니까? – Roman
https://github.com/rails/arel/blob/master/lib/arel/nodes/or.rb는 Arel의 'or'개념이 바이너리임을 암시하는 것처럼 보입니다. 그래서, "아니오"는 당신의 질문에 대한 답이 될 것입니다. – einarmagnus