在ruby中不使用eval将字符串转换为类名?

我有这样的事情:

string = "Post" 

我想将字符串转换为类名文字。 我使用这样的eval来转换字符串:

 eval(string) #=> Post 

作为一名javaScript开发人员,我试图避免使用eval。 在Ruby中有更好的方法吗? 或者正在使用eval处理这个的首选方式?

你可以试试

 class Post end Object.const_get("Post") 

返回Post

使用Module.const_get

 string = "Fixnum" clazz = Object.const_get(string) clazz.name # => "Fixnum" 

如果你在rails上下文中,你也可以在字符串上使用`#constantize方法

 clazz = string.constantize # => Fixnum