Есть ли AR#or_where в Rails 3 как в
AR#or_where
User.where(cond1).or_where(cond2)
В Rails такого метода нет.
Я думаю, что самый простой способ сделать OR в предложении WHERE - это сделать что-то вроде этого:Если вы хотите изучить методы Arel (у которых есть метод «или»), посмотрите здесь: https://github.com/rails/arel#readme. Используя Arel и ActiveRecord, вы можете сделать то же самое, как это:
Просто с помощью User.where(cond1) | User.where(cond2), ||Зарезервировано ruby!
User.where(cond1) | User.where(cond2)
Вы можете взглянуть на meta_where .Этот гем позволяет использовать более мощные выражения запросов ActiveRecord в коде Ruby, не требуя перехода к фрагментам SQL.
Если вы хотите связать их так, вам нужно немного покопаться в арле.См. этот похожий вопрос .