2012-01-13 2 views
2

У меня естьRails реверс сферы

scope :delivered, where(:status => Status::DELIVERED) 
SELECT "orders".* FROM "orders" WHERE "orders"."status" IN ('Pending', 'Partially Prepared') 

Теперь я хочу, чтобы добавить новую область, чтобы получить все, кроме доставленных заказов.

scope :not_delivered, where(:status != Status::DELIVERED) 
SELECT "orders".* FROM "orders" WHERE ('t') 

Как получить обратную область?

ответ

2

Вы должны использовать условие строки. scope :not_delivered, where('status NOT ?', Status::DELIVERED).

Не уверен в синтаксисе, я не часто использую SQL. Но вы должны получить эту идею.

+1

Должно быть 'scope: not_delivered, где ('status! =?', Status :: DELIVERED)' – Egor