2010-06-07 86 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后。这是由 调度程序重新加载的东西造成的。对于 开发它是一个值得支付的价格, 但在生产中它将是 不可接受的。因此,此 功能在生产 部署时被禁用。

相关问题