2016-11-29 4 views
0

Возможно ли (и как) разграничить модель ActiveRecord с «a where»? И.Е. Когда я звоню OrderCommunication.all, тогда запрос будет делать что-то вроде select * from ordcomm where type = 'order'. Я знаю, что это отвратительно, но наша база данных просто не может быть изменена вообще, и мы не можем реорганизовать. В принципе мне нужно объявить мою модель с where ordcomm = 'order', поэтому я не делаю этого во всех моих последующих запросах.Как разграничить модель рельсов с ограничением

+1

Черт, я думаю, что я только что нашел свой ответ: 'default_scope: conditions => [" type =? "," order "]' – lu1s

ответ

0

Вы можете использовать default scope, чтобы выполнить это.

default_scope { where(type: 'order') } 

Теперь, если вы попытаетесь OrderCommunication.all, вы получите только записи с type из 'order'

Если вместо этого вы хотите, чтобы извлечь все записи, используйте unscoped

OrderCommunication.unscoped.all 
Смежные вопросы