2014-02-16 36 views
-1

我想調用名稱空間爲Publishers的類中的方法,例如Publishers::Vk,其中嵌套的部分表示爲類似provider_name = 'Vk'的字符串。我做了這樣的事情:來自字符串的嵌套類

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

我得到一個異常:

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

我怎樣才能實現這個功能呢?

回答

3
Publishers.const_get(provider_name).new(@photo) 
+0

謝謝,它的工作! 這個類只是一個常量嗎? – asiniy

+0

是的,確切地說,這是一個常數 –