我试图为所有 ActiveRecord::Base 子类添加范围,但我的方法不起作用,因为在通过调用ActiveRecord::Base.subclasses
或列出类之前需要先触及这些类ActiveRecord::Base.descendants
。因此,我无法通过包含包含范围的 ActiveSupport::Concern 扩展类来扩展循环中的类。
我也不能Dir.glob(Rails.root.join("app/models*.rb").to_s)
用来列出和要求所有文件。因为 Rails.root 会nil
在环境加载之前返回。
那么如何使用我的范围从 gem 扩展所有 ActiveRecord::Base 子类?