我有两节课

class ClassOne
    def do_something
      [...]
    end
end

class ClassTwo
    def do_something
      [...]
    end
end

我从数据库中得到一个类名(classone或classtwo),我想在该类中调用do_something
所以我有
class_name = "ClassOne"

如果类名等于“class2”,我想调用ClassOne.do_somethingClassTwo.do_something
我不能使用一个简单的if条件,我有很多类,在调用之前我正在检查类是否存在。
有办法吗?

最佳答案

香草红宝石:

Kernel.const_get('ClassOne').do_something

铁路:
'ClassOne'.constantize.do_something

关于ruby - 在Ruby中按名称获取类(class),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9620392/

10-10 16:51