回答
您可以創建一個軌道配置對象,並從中獲得必要的信息:
config = Rails::Configuration.new
host = config.database_configuration[RAILS_ENV]["host"]
database = config.database_configuration[RAILS_ENV]["database"]
見documentation爲Rails ::配置的詳細信息。
Rails的:: 3
config = Rails::Configuration.new
NoMethodError: undefined method `new' for Rails::Configuration:Module
[...]
如果你正在使用MySQL或Postgres的configuration.new答案並不在Rails的工作,那麼這個作品
ActiveRecord::Base.connection.current_database
但這僅適用於有司機實施該方法。例如,它不適用於SQLite。
工作的ActiveRecord :: Base.connection.current_database也適用於Postgres的,司機被抽離所以猜測它適用於所有數據庫 – house9 2011-10-13 21:50:15
@ house9我編輯了答案,以反映這一點,謝謝! – 2014-04-22 23:34:10
On Rails的3,這是通過Rails::Application.config
最容易訪問的,就像這樣:
YourApplicationClassName::Application.config.database_configuration[::Rails.env]
如果你想直接調用它Rails
而不是YourApplicationClassName
,軌道會給你一個deperecation警告。如果你不知道你的應用程序常量是什麼,請在你的應用程序的Rails控制檯中嘗試Rails.application.class.name
。當您連接到多個數據庫
此解決方案不工作在導軌3 – 2013-03-28 09:01:31
下面的方法是很好的。在SQLITE3和Mysql2
測試MyModel.connection.instance_variable_get(:@config)[:database]
使用Rails 3,您可以使用
Rails.configuration.database_configuration[Rails.env]
或
Rails.application.config.database_configuration[Rails.env]
或
ActiveRecord::Base.connection_config
測試在Rails的控制檯:
ActiveRecord::Base.connection.instance_variable_get(:@config)
下一個信息應該出: 適配器,主機,編碼,重新連接,數據庫名稱,用戶名,通過
- 1. HtmlPurifier:只顯示Linkify的主機名稱
- 2. ViewData顯示數據庫列名稱
- 3. MySQL數據庫主機名
- 4. 在Rails中顯示數據庫值?
- 5. heroku上的數據庫名稱&用戶名&密碼&主機
- 6. 不同數據庫中的主機名稱?
- 7. 鉻顯示:HTTP主機名和TLS SNI主機名不匹配
- 8. Rails + Active Admin:顯示名稱
- 9. 如何顯示名稱存儲在數據庫中的圖像
- 10. 如何顯示在數據庫中按名稱搜索成員
- 11. 在winforms中以數據庫名稱顯示圖片?
- 12. 顯示主機名和IP地址
- 13. 使用PDO,mysql和pgsql顯示數據庫名稱
- 14. 顯示隨機名稱
- 15. log4php:如何在XML中動態地更改數據庫名稱/數據庫主機/用戶名?
- 16. 在數據庫中列出數據庫和表名稱?
- 17. 更改Rails中的現有數據庫名稱和應用程序名稱
- 18. 數據庫名稱和數據庫中'名稱'參數之間的區別
- 19. mysql數據庫搜索遠程主機或頁面名稱
- 20. PHP在兩列中顯示字段名稱和字段數據
- 21. 根據MediaWiki中的主機名顯示不同的主頁
- 22. 的Rails 3:顯示從數據庫中隨機1項:Question_Edit:more_detailed
- 23. 在每個數據庫上運行查詢並顯示數據庫名稱
- 24. 顯示水晶報表中的數據庫服務器名稱
- 25. 如何使用玉石來顯示數據庫中的名稱
- 26. Java Applet顯示數據庫中的名稱
- 27. 如何使用ID顯示數據庫中的名稱?
- 28. 如何從數據庫中顯示1名稱
- 29. 根據動態庫存中的標籤設置主機名稱
- 30. 無法在mvc中找到數據庫名稱和源數據名稱3
文檔鏈接斷開。它應該指向:http://guides.rubyonrails.org/configuring.html? – evanrmurphy 2012-03-21 14:50:28
這種解決方案並不在Rails的3 – 2013-03-28 09:01:16