我怎麼能有一個像ActiveRecord scope
修改它的行爲關係?更新範圍內的關係?
具體來說,我希望能夠做到這一點:
Model.some_scope.fake_destroy_all
哪裏fake_destroy_all
是我試圖創建功能。這幾乎相當於.update_all(deleted: true)
。
疲軟的替代方法是:
def fake_destroy_all(relation = Model)
relation.update_all(deleted: true)
end
#...
Model.fake_destroy_all(Model.some_scope)
但是,這並不理想。我想要做的是這樣的:
scope :fake_destroy_all, update_all(deleted: true)
但這並不奏效。
是否有可能做類似我所描述的事情?
看看這個:http://stackoverflow.com/questions/23017070/how-to-hide-records-rather-than-delete-them-soft-delete-from-scratch/23017174#23017174 – MrYoshiji 2014-09-04 20:30:04