繁体   English   中英

在rails中开发模式和生产模式有什么区别?

[英]in rails what is the difference between development mode and production mode?

目前,我正在为我的应用程序使用开发模式,但我不知道是否应该使用生产模式。 如果是这种情况,我如何将所有数据传输到生产模式?

是否存在在此过程中引入错误的风险?

区别在于两种环境。 在Rails中,有几种环境。 每个都有自己的数据库配置和Rails选项。

您可以使用Rails.env变量对特定环境进行一些不同的更改。

默认情况下,开发环境没有所有缓存并激活自动重新加载。 生产环境包含所有缓存。

但是如果你想要你可以创建像生产这样的开发或开发环境的生产环境。

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

摘自使用Rails敏捷开发

使发展更容易

您可能已经注意到我们迄今为止所做的开发。 由于我们一直在为应用程序添加代码,因此我们不必重新启动正在运行的应用程序。 它一直在愉快地在背景中挣扎。 然而,只要我们通过浏览器访问应用程序,就可以使用每个更改wemake。 是什么赋予了?

事实证明,Rails调度程序非常聪明。 在开发模式下(与测试或生产相反),它会在新请求出现时自动重新加载应用程序源文件。 这样,当我们编辑我们的应用程序时,调度程序会确保它正在运行最新的更改。 这对发展很有帮助。

但是,这种灵活性需要付出代价 - 在应用程序响应之前输入URL后会导致短暂停顿。 这是由调度员重新加载的东西造成的。 对于开发而言,这是一个值得付出的代价,但在生产中它是不可接受的。 因此,禁用此功能以进行生产部署。

从根本上说,Rails环境之间没有区别。 环境只是一个常量,它在Rails应用程序启动时设置,并在整个引导过程中经常引用并可供应用程序代码使用。

例如,常量定义了在连接时使用哪个数据库配置以及在启动时执行哪个环境初始化程序(例如config / environments / development.rb )。

rails应用程序中存在的默认环境是:

  • 发展
  • 测试
  • 生产

默认Rails环境之间的某些配置选项不同,但如果相应config / environments /#{environment}文件中的配置选项相同,则环境将完全相同。 事实证明,可以通过向config / database.yml添加连接配置和将新环境文件添加到配置/环境来创建其他环境

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM