Ruby on Rails的 - 呼叫从

我使用Ruby on Rails的下面的类结构中的父类每个子类的方法:Ruby on Rails的 - 呼叫从

class Parent 

def self.parse

self.subclasses.each(&:parse) # how to fix this?

end

end

class Child1 < Parent

def self.parse

# ...

end

end

class Child2 < Parent

def self.parse

# ...

end

end

我想这样做:

Parent.parse 

=> Child1.parse and Child2.parse

但实际上子类没有加载,所以subclasses方法给出空数组。

有没有简单的方法来做这个非常普通的任务?

回答:

发生这种情况是因为rails自动载入类:Parent在使用某处或需要之前不知道其子类。

刚从Parent类手动要求他们都:

# parent.rb 

require 'child1'

require 'child2'

class Parent

def self.parse

self.subclasses.each(&:parse) # how to fix this?

end

end

以上是 Ruby on Rails的 - 呼叫从 的全部内容, 来源链接: utcz.com/qa/262350.html

回到顶部