2017-03-29 1 views
1

私はレールが初めてです。私は、where句を使用してスコープを作成しようとしています。そのwhere節では、私は同じモデルの列の値を使用したい。しかし、私はそれを行う正しい方法を知らない。私を助けてください。ここでは、コードスニペットがあります:Rails:where句で同じモデルの列値を使用してモデル内にスコープを追加

attr_accessible :booked_qty, 
       :cancelled_qty, 
       :quantity_shipped 

は、これは私が作成しようとしています範囲です:

scope :shipped_qty_less_than_max_tolerance_qty, where("quantity_shipped < ?",self.booked_qty-self.cancelled_qty) 

だから、このスコープを書くための最良の方法は何ですか?前もって感謝します!

+0

ref link:http://api.rubyonrails.org/classes/ActiveRecord/Scoping/Named/ClassMethods.html –

+0

モデルのdbまたは特殊メソッドの 'quantity_shipped'と他の列はありますか? – Iceman

+0

それらはすべてdbです。 @iceman – Akshay

答えて

0

を確認してください内のスコープについての詳細を調べる必要がある場合は、ここに私のために働いたものだ、正しいです:

scope :shipped_qty_less_than_max_tolerance_qty, where("quantity_shipped < booked_qty-cancelled_qty") 

皆様のご支援ありがとうございます。

-1

スコープを使用すると、すべての可能なリンクを訪問し、さまざまな可能性を試した後Rails Guides v3.2

+0

スコープが正しいメイトではないので、私は尋ねた。とにかく助けてくれてありがとう。そのリンクはスコープの理解を助けました。 – Akshay

関連する問題