Mat*_*chu 10 ruby-on-rails arel ruby-on-rails-3
在我的Rails应用程序中,我遍历一个数组以创建必须由OR连接的条件列表.以下是我目前这样做的基本流程.
conditions = nil
set.each do |value|
condition = value.to_condition
conditions = conditions ? conditions.or(condition) : condition
end
Run Code Online (Sandbox Code Playgroud)
显然,它并不漂亮,但我仍然不完全了解Arel的方式.它是否提供了更好的OR加入一组动态生成条件的方法?
ein*_*nus 12
这是一个完美的选择inject,它将为你提供一个你可以在其他东西中使用的单行:
conditions = set.inject { |conds, cond| conds.or(cond) }甚至可以写:set.inject(&:or)这是非常好的.