У меня есть существующая модель с набором сложных областей:ActiveRecord ИЛИ для существующих областей
scope :test1 , where(gift: true)
scope :test2 , lambda {|time| where("last_created_at > ?", time)}
scope :test3 , where(approved: true)
Я могу чем сделать что-то вроде
User.test1.test2.test3.all
Теперь, скажем, я хочу, чтобы добавить глобальный ИЛИ возможности для этого. т.е. выбрать все это (test1 + test2 + тест) или когда пользователь является администратором (не рабочий код, конечно):
scope :admin , where("OR admin=", true)
Есть ли способ сделать это с помощью существующей области, или же это требует все новый переписать с AREL или простой SQL?
Один хак я нашел для этого:
scope :admin , where("1=1) OR admin=1 AND (1=1", true)
Но, я имею в виду, это может получить любой уродливее, чем .. :)