相关疑难解决方法(0)

Rails强迫模型加载

我希望能够加载整个应用程序,以便我可以找到给定类的后代.

例如,给定我定义了以下类:

# app/models/foo_class.rb
class FooClass < MySpecialBaseClass
  # pasta code
end
Run Code Online (Sandbox Code Playgroud)

它不会被发现:

irb> ObjectSpace.each_object.select { |obj| obj.is_a?(Class) && obj <= MySpecialBaseClass }
=> []
Run Code Online (Sandbox Code Playgroud)

直到我调用const:

irb> FooClass
Run Code Online (Sandbox Code Playgroud)

然后它返回:

irb> ObjectSpace.each_object.select { |obj| obj.is_a?(Class) && obj <= MySpecialBaseClass } 

=> [FooClass]
Run Code Online (Sandbox Code Playgroud)

我该怎么做呢?

ruby ruby-on-rails

21
推荐指数
4
解决办法
1万
查看次数

标签 统计

ruby ×1

ruby-on-rails ×1