gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 05:29:06 25 4
gpt4 key购买 nike

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

例如,我们在数据库中以“ClassName”或“my_super_class_name”等格式保存它的名称。

我们如何从中创建对象?

解决方案:

我自己也在找,没找到,所以就在这里了。 Ruby-on-Rails API Method

name = "ClassName"
instance = name.constantize.new

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

name = "my_super_class"
instance = name.classify.constantize.new

当然,也许这不是很“Rails 方式”,但它解决了它的目的。

最佳答案

klass = Object.const_get "ClassName"

关于类方法

class KlassExample
def self.klass_method
puts "Hello World from Class method"
end
end
klass = Object.const_get "KlassExample"
klass.klass_method

irb(main):061:0> klass.klass_method
Hello World from Class method

关于ruby-on-rails - 如何在 Rails 中从名称字符串实例化类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14070369/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com