gpt4 book ai didi

ruby-on-rails - rails ActiveRecord STI : Limit scope to Parent Model

转载 作者:太空宇宙 更新时间:2023-11-03 16:01:36 25 4
gpt4 key购买 nike

Class Physician < ActiveRecord::Base
scope :exclusive, -> { where(type: [nil, '']) }
end

Class Ophthalmologist < Physician; end

如何使范围“专有”仅供医师使用?

最佳答案

我应该从以下内容开始:STI 的类型永远不会为空。如果是,它将无法创建模型。

不过,要回答您的问题,您可以使用以下方法将任何方法的范围限制在父类中:

class Physician < ActiveRecord::Base
scope :exclusive, -> { where(type: [nil, '']) }

def self.inherited(mod)
super # allow rails to do its thing
class << mod
undef :exclusive
end
end
end

关于ruby-on-rails - rails ActiveRecord STI : Limit scope to Parent Model,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23800737/

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