2010-06-07 129 views
6

目前,我爲我的應用程序使用開發模式,但我不知道是否應使用生產模式。如果是這種情況,我如何將所有數據傳輸到生產模式?開發模式和生產模式有什麼區別?

在這個過程中是否會有引入錯誤的風險?

回答

6

區別在於2種環境。在Rails中,有幾種環境。每個人都有自己的數據庫配置和Rails選項。

您可以使用Rails.env變量對特定環境進行一些不同的更改。

默認情況下,開發環境沒有全部緩存並激活自動重新加載。生產環境具有全部緩存。

但是,如果你想讓你可以製作像生產這樣的開發或開發環境的生產環境。

您也可以添加一些新的特定環境。

1

從根本上說,Rails環境之間沒有區別。這個環境只是一個常量,當Rails應用程序在啓動過程中被啓動並經常被引用時,該應用程序代碼就可以使用該常量。

例如,常量定義了在啓動時要使用哪個數據庫配置進行連接以及要執行哪個環境初始化程序(例如config/environments/development.rb)。

中存在的Rails應用程序的缺省環境是:

  • 發展
  • 測試
  • 生產

一些配置選項默認的Rails環境之間有所不同,但環境會如果配置選項在相應的config/environments /#{environment}個文件是相同的。這是由附加的環境可以通過添加連接配置創建於配置的事實證明/ database.yml的和一個新的環境文件配置/環境從Agile Development using Rails

4

摘錄

讓開發變得更容易

你可能已經注意到了一些關於 我們一直在做的發展如此 遠。由於我們已將代碼添加到我們的 應用程序中,因此我們不必重新啓動 正在運行的應用程序。它一直在 背景下幸福地徘徊在 背景。然而,每當我們通過瀏覽器訪問 應用程序時,每次更改wemake 都可用。 給出了什麼?

事實證明,Rails調度器 是非常聰明的。在開發模式 (與測試或生產相對), 它會自動重新加載應用程序 源文件,當新請求到達 時。這樣,當我們編輯我們的 應用程序時,調度程序確保 它正在運行最新的更改。 這對開發很有用。

然而,這種靈活性是有 成本就造成了短暫的停頓,你 應用 響應之前輸入一個URL後。這是由 調度程序重新加載的東西造成的。對於 開發它是一個值得支付的價格, 但在生產中它將是 不可接受的。因此,此 功能在生產 部署時被禁用。

相關問題