小编Vja*_*its的帖子

如何在Rails中从名称字符串实例化类?

我们如何从Ruby-on-Rails中的名称字符串中实例化类?

例如,我们在数据库中以"ClassName"或"my_super_class_name"的格式命名.

我们如何从中创建对象?

解:

正在寻找它,但没找到,所以在这里. Ruby-on-Rails API方法

name = "ClassName"
instance = name.constantize.new  
Run Code Online (Sandbox Code Playgroud)

它甚至可以不格式化,我们可以用户字符串方法.classify

name = "my_super_class"
instance = name.classify.constantize.new
Run Code Online (Sandbox Code Playgroud)

当然也许这不是'Rails方式',但它解决了它的目的.

string ruby-on-rails class instantiation ruby-on-rails-3

68
推荐指数
4
解决办法
3万
查看次数