4

created自定義分段環境在我的Rails應用程序通過添加新的文件config/environments/staging.rb,一樣config/environments/development.rb ,然後添加數據庫配置config/database.yml如何在一個默認環境中使用rails自定義環境?

staging: 
    adapter: sqlite3 
    database: db/staging.sqlite3 
    pool: 5 
    timeout: 5000 

現在,我要讓staging我的Rails應用程序的default environment代替發展。如何實現它?

+1

檢查[this](http://stackoverflow.com/a/10796870/635033)回答了@ jigfox。我相信這就是你要找的。 –

+0

@gtzilgkakis,在用戶的〜/ .bashrc或〜/ .bash_profile文件中添加RAILS_ENV。會使這個應用程序依賴於控制檯,它不應該獨立於〜/ .bashrc或〜/ .bash_profile文件嗎? –

+0

@SachinSingh只想知道..做任何答案都可以幫到你嗎? –

回答

1

理想情況下,你必須設置環境變量.bashrc

export RAILS_ENV=staging 

因爲rails完全依賴於環境變量。但就像你說的

在用戶的〜/ .bashrc或〜/ .bash_profile文件中添加RAILS_ENV。會使這個應用程序依賴於控制檯,它不應該獨立於〜/ .bashrc或〜/ .bash_profile文件嗎?

很明顯,這是另一種選擇。包括這條線在config/boot.rb

ENV["RACK_ENV"] = ENV['RAILS_ENV'] || ENV['RACK_ENV'] || "staging" 

這將工作到處都是。我在下面的地方進行測試

  1. 軌道4
  2. 服務器
  3. 控制檯
  4. DBCONSOLE
  5. 它會挑環境,如果在bashrczshrc
  6. 設置
+0

是一個很好的。 –

+0

@SachinSingh非常感謝。如果答案滿足您的標準,請在您獲得時間時進行測試。請接受它。 –

1

你可以試試這個在您的application.rbBundler.require聲明

ENV['RAILS_ENV'] ||= 'staging' 
+0

這是不正確的。它不會完全改變環境。我只用'rake'測試了這個,rake選擇了'development'環境。 –

0

我把 ENV ['RAILS_ENV'] || ='custom_development' 最後在boot.rb中。有效。

我已經測試

  • 服務器
  • 控制檯
  • DBCONSOLE

所有的工作。

相關問題