2011-11-01 58 views
0

我有一個ActiveRecord模型和它的設置方式,我從不刪除任何東西。相反,我有一個布爾列,如果記錄被刪除,則爲true;否則爲false。我對這個模型執行了幾個查詢。我想要一個很好的方法來自動追加條件,「:deleted => 0」,以便我所有的我撥打電話,這樣我就不會檢索刪除的記錄。擴展具有附加條件的所有ActiveRecord SQL調用

我最初的直覺是爲ActiveRecord擴展'where'方法,但似乎沒有where方法。

以最面向對象的方式實現上述功能的最佳方式是什麼?

謝謝。

回答

3

聽起來像是你要設置的default_scope

使用此宏模型設置缺省範圍爲模型上的所有操作。

因此,像這樣:

class M < ActiveRecord::Base 
    default_scope where(:deleted => 0) 
    #... 
end