来自字符串的嵌套类

时间:2014-02-16 16:12:37

标签: ruby nested-class

我想在Publishers的名称空间中调用类的方法,例如Publishers::Vk,其中嵌套的部分表示为类似provider_name = 'Vk'的字符串。我做了类似的事情:

send("Publishers::#{provider_name}.new(#{@photo})")

我得到一个例外:

undefined method `Publishers::Vk.new(#<Photo:0x000000085e5440>)' for #<PhotoPublisher:0x00000008616c98>

如何实现此功能?

1 个答案:

答案 0 :(得分:3)

Publishers.const_get(provider_name).new(@photo)