2009-03-06 28 views
3

Rails中是否有將方法轉換爲常量的方法?我希望能夠做這樣:在軌道中的常量符號

:monkey.to_constant #=> Monkey 

東西目前,我所要做的

:monkey.to_s.camelize.constantize 

這是一個有點拗口。

回答

5
class Symbol 
    def to_c 
    self.to_s.camelize.constantize 
    end 
end 

:monkey.to_c 

更新爲Rails> = 4

鐵軌的> = 4 .classify優於.camelize

# .camelize with singular and plural symbols/strings 
:user.to_s.camelize.constantize 
# => User 
:users.to_s.camelize.constantize 
# => NameError: uninitialized constant Users 

# .classify with singular and plural symbols/strings 
:user.to_s.classify.constantize 
# => User 
:users.to_s.classify.constantize 
# => User 
+0

是啊,夠公平使用! – inglesp 2009-03-06 12:18:39