【发布时间】:2014-09-04 20:23:47
【问题描述】:
我怎样才能拥有像 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)
但这不起作用。
有没有可能像我描述的那样做?
【问题讨论】:
标签: ruby-on-rails ruby activerecord