15
A
回答
39
首先,轉換爲字符串。
class_name = symbol.to_s
從那裏,你需要將字符串格式化爲使用ActiveSupport's Inflector提供的方法正確的類名。
camelize
會變成'my_module'
成'MyModule'
classify
會變成'my_models'
成'MyModel'
camelize
更可能你想要的,因爲你的代碼段。
然後使用constantize
方法:
klass = class_name.constantize
優雅!
4
我正在尋找計算器的這個答案,但沒有找到它的措辭我是如何尋找它,所以我想我會Q &一個自己:
答案以上是正確的,但我實際上可以發現,解釋好一點的文檔:
基本上有兩種方法:
- .to_s.camelize - 當你的單數形式使用(:後)
- .to_s.classify - 當你有一個複數形式使用( :posts)
從那以後,你可以調用constantize和Viola!你有你的班級。
相關問題
- 1. 如何在matlab中將一個類轉換爲另一個類
- 2. 你如何將一個數字轉換爲它的符號?
- 3. 如何將一個字符串轉換爲一個鍵?
- 4. 如何將一個類對象轉換爲一個NSDictionary?
- 5. 如何將一個數據框轉換爲一個案例類?
- 6. 如何將一個shared_ptr從一個父類轉換爲另一個父類?
- 7. 將多個字符轉換爲一個
- 8. 將一個double轉換爲一個無符號字符的問題
- 9. 如何將字符串轉換爲文本轉換成一個類名
- 10. 如何將一個字符串python單引號轉換爲雙引號
- 11. 從一個類轉換爲另一個
- 12. 將符號從一種位置轉換爲另一種符號
- 13. 將一個字符串轉換爲另一個字符串
- 14. 將一個類轉換爲另一個類
- 15. 將一個類轉換爲另一個相同的類
- 16. 如何使用sed將兩個字符轉換爲一個
- 17. 如何將多個類文件轉換爲一個jar文件?
- 18. 將一個類從javascript轉換爲typescript
- 19. 如何將一個void *轉換爲CString
- 20. 如何將一個NSString轉換爲NSDate?
- 21. 如何將一個double轉換爲NSInteger?
- 22. 如何將一個位轉換爲char?
- 23. 如何將一個Bundle轉換爲PersistableBundle?
- 24. 如何將一個類的透明變量值轉換爲另一個類android
- 25. Ruby如何將一個方法轉換爲符號作爲參數?
- 26. 我將如何將一個字符串對象轉換爲一個UTF8CHAR指針?
- 27. 如何將一個字符串轉換爲一個唯一的整數在php
- 28. 如何將該類的IBAction方法轉換爲另一個類
- 29. 如何將一個長整數轉換爲手機號碼?
- 30. 使用XSLT(編號轉換)將XML轉換爲另一個XML
姆姆。這取決於你是否要傳遞實際的類名稱:MyClass,或者更喜歡':my_class'格式。 – Matchu 2010-01-29 18:38:47
是的,沒錯。那是絆倒我的部分。特別是單數和複數的區別。 – dpb 2010-01-29 18:41:10
看起來像Rails 3的更新版本http://api.rubyonrails.org/classes/ActiveSupport/Inflector.html – christophercotton 2011-01-27 16:08:20