我有一個實用工具類定義了一堆類方法。在Rails控制檯中,當我使用Object.const_defined?
搜索該類時,它將返回false。但在調用其中一個類方法或創建類的實例後,Object.const_defined?
返回true。這是因爲某種懶惰加載實例化的東西?有沒有另一種方法可以檢查一個類是否存在,即使我還沒有實例化任何東西,它將返回true。Rails如何在未實例化時檢查類的存在?
4
A
回答
5
6
您可以使用safe_constantize。
your_class = "YourClassName".safe_constantize
if your_class && your_class.class == Class
your_class.new(options).run
end
相關問題
- 1. 檢查類被實例化
- 2. 如何在單元測試中檢查python類的實例化
- 3. 如何在初始化時創建和存儲類的實例?
- 4. 未在實例化類中找到的方法(Ruby/Rails)
- 5. 在未知類型的運行時實例化自定義類
- 6. 如何在Rails中實例化名稱字符串中的類?
- 7. 如何在類動態更改時實例化一個Ruby類的實例?
- 8. 如何檢查類實例化的正確
- 9. Rails如何查詢has_many實例中不存在的情況
- 10. 在實例化它們之前檢查子類的相關性?
- 11. Rails在保存時替換ApplicationRecord實例
- 12. 如何在運行時檢查子類是否爲類的實例?
- 13. 如何在JavaTokenParsers類中實例化lexical.Scanner?
- 14. 如何檢查一個Activity的多個實例是否存在
- 15. 如何檢查表單的實例是否已經存在?
- 16. 如何在Swift中檢查實例的類型?
- 17. 我可以在運行時檢查實例存在嗎?
- 18. 如何在運行時在C#中實例化一個類
- 19. 檢查一個類是否已經在iOS中實例化了
- 20. 如何檢查變量是否在Prolog中實例化?
- 21. 如何在實例化時存在對象依賴關係時實現Singleton?
- 22. 在特定時間實例化類
- 23. 在實例化時編寫一個類?
- 24. 如何在運行時生成未知類型的實例?
- 25. 如何檢查一個類是否已經在Python中實例化?
- 26. 庫類如何實例化
- 27. 如何實例化類DefaultHashMap
- 28. 類的實例不存在?
- 29. rails檢查現有的實例屬性
- 30. JAVA ArrayList類實例成員檢查存在成員
你可能會試着急於加載它們;如果該類尚未加載,則尚未加載,例如http://stackoverflow.com/q/19839847/438992 –
@Dave感謝您的信息,這有助於我更好地理解 – zako42