我有两节课
class ClassOne
def do_something
[...]
end
end
class ClassTwo
def do_something
[...]
end
end
Run Code Online (Sandbox Code Playgroud)
我从数据库中获取了一个类名(ClassOne或ClassTwo),我想do_something在该类中调用
所以我有
class_name = "ClassOne"
Run Code Online (Sandbox Code Playgroud)
我想调用ClassOne.do_something或者ClassTwo.do_something如果class_name等于"ClassTwo".
我不能使用简单的if条件,我有很多类,并在调用之前检查类是否存在.
有办法吗?
对于香草红宝石:
Kernel.const_get('ClassOne').do_something
Run Code Online (Sandbox Code Playgroud)
对于Rails:
'ClassOne'.constantize.do_something
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
978 次 |
| 最近记录: |