2016-11-29 2 views
0

"どこで"のActiveRecordモデルを区切ることは可能ですか? I. OrderCommunication.allと呼ぶと、クエリはselect * from ordcomm where type = 'order'のようになります。私はそれが一種の厄介だが、私たちのデータベースは全く変更することはできませんし、リファクタリングすることはできません。基本的には私のモデルをwhere ordcomm = 'order'で宣言する必要がありますので、それ以降のすべてのクエリでは行いません。制約付きのレールモデルを区切る方法

+1

くそーを使用したい場合は'order'

の、I私はちょうど私の答えを見つけたと思う: 'default_scope:conditions => [" type =? "、" order "]' – lu1s

答えて

0

これを行うにはdefault scopeを使用できます。あなたがOrderCommunication.allをしようとした場合

default_scope { where(type: 'order') } 

さて、あなただけのレコードを取得するでしょうtypeあなたの代わりに、すべてのレコードをフェッチunscoped

OrderCommunication.unscoped.all 
関連する問題