我有一个变量存储类的名称

my_class = "Homework"

这个类有一些我想访问的属性
Homework.find_by

如何使ruby将此字符串视为对象?
例如
my_class.find_by

最佳答案

您可以使用classifyconstantize

my_class.classify.constantize.find_by # something

分类
从复数表创建类名
名称就像rails对模型的表名所做的那样。请注意,这将返回
字符串而不是类(转换为实际的类跟随
用君士坦丁分类)。
康斯坦兹
尝试使用参数中指定的名称查找常量
字符串。
'Module'.constantize     # => Module
'Test::Unit'.constantize # => Test::Unit

如果您确定您的输入,您只需要constantize
my_class.constantize.find_by # something

关于ruby-on-rails - 使Rails在字符串中识别我的类(class),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39604292/

10-10 15:24