gpt4 book ai didi

ruby-on-rails - 在Rails中为所有事件记录模型添加查找条件

转载 作者:行者123 更新时间:2023-12-04 05:47:01 25 4
gpt4 key购买 nike

无论如何,是否要向所有 Activity 记录模型添加查找条件?

那就是我想要这个查询

ExampleModel.find :all, :conditions=> ["status = ?", "active"]

表现与
ExampleModel.find :all

在每个模型中

谢谢!!

最佳答案

您可以使用 default_scope :

class ExampleModel < ActiveRecord::Base
default_scope :conditions => ["status = ?", "active"]
end

如果要在所有模型中都使用它,则可以子类化 ActiveRecord::Base并从其派生所有模型中的代码(可能不适用于单表继承):
class MyModel < ActiveRecord::Base
default_scope :conditions => ["status = ?", "active"]
end
class ExampleModel < MyModel
end

...或者您可以在 default_scope本身上设置 ActiveRecord::Base(如果您决定一个模型不应该具有此默认范围,可能会很烦人):
class ActiveRecord::Base
default_scope :conditions => ["status = ?", "active"]
end
class ExampleModel < ActiveRecord::Base
end

正如klochner在评论中提到的那样,您可能还需要考虑在 named_scope上添加一个 ActiveRecord::Base,命名为 active,例如:
class ActiveRecord::Base
named_scope :active, :conditions => ["status = ?", "active"]
end
class ExampleModel < ActiveRecord::Base
end
ExampleModel.active # Return all active items.

关于ruby-on-rails - 在Rails中为所有事件记录模型添加查找条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1326743/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com