Dav*_*ley 2 ruby ruby-on-rails
我正在尝试调用一个类和方法,它们都作为字符串存储在DB中.我想从这两个字符串创建一个对象
class_name = 'Some::Class'
method_name = 'a_method'
params = {foo: 'bar'}
class_name.new(params).method_name
Run Code Online (Sandbox Code Playgroud)
我以前使用Contantize进行类似的方法,但我不确定这里最好的解决方案是什么?
谢谢
你可以使用const_get:
Class.const_get(class_name).new(params).public_send(method_name)
Run Code Online (Sandbox Code Playgroud)