1

有人可以向我解释一下 Rails 环境是什么以及它们做什么吗?我曾尝试研究自己,但找不到任何东西。据我收集,环境是:

  • 发展
  • 制作
  • 测试
4

3 回答 3

2

根据您在问题中提供的内容,您似乎在问:

“Rails 中的每个环境配置有什么区别?”

Rails 带有 3 种环境类型的软件包。每个都有自己的服务器、数据库和配置。有关可用选项的更多信息,请参阅Rails 指南:配置。

设置环境

要设置 Rails 环境,您需要在命令行中输入:

export RAILS_ENV=<env>

在哪里<env>可以是test,developmentproduction. 设置此环境变量至关重要,因为它将确定安装了哪些 gem,或者在运行rails consolerails server.

配置中包含用于应用程序的 gemset。运行时rails new,您会发现一个 Gemfile 包含组testdevelopmentproduction. 这些组对应于当前设置的环境。当环境设置为其中之一时,运行bundle install会安装与该组相关的所有 gem(以及未在组中列出的 gem)。

包含的环境

test专为运行测试/规范而设计。这个数据库很可能是简单的,除了你可以在运行套件之前调用的种子。每次测试完成后,数据库将回滚到测试开始前的状态。我不建议启动rails server,因为运行测试(通过 MiniTest 或 RSpec)将为您执行此操作,并在套件完成后关闭服务器。

development允许您使用更大的数据库(通常是生产的克隆)“测试”您的应用程序。这使您可以在不中断生产(客户或最终用户将体验的版本)的情况下测试实际的真实数据。要查看实际的开发环境,请更改RAILS_ENV并启动rails server. 这有助于决定您希望页面的外观(CSS、HTML)。自己简单地“测试”您的应用程序也是一种很好的做法,单击以确保一切“看起来”良好并且 JavaScript 工作正常。

production为客户和最终用户保留。配置包括应用程序的实际域、要使用的端口以及要运行的初始化程序或任务。你不想玩弄你的数据库,因为它可能会影响客户。理想情况下,应用程序应该尽可能地工作,因为这被认为是您的“最终产品”。

于 2015-08-18T13:36:37.670 回答
2

每个“环境”实际上只是一个配置。您可以在各种不同的模式下启动您的应用程序,这些模式被称为“环境”,因为它们以许多不同的方式影响应用程序的行为。但最终,它们只是配置。

顺便说一句,当你看起来“无处不在”时,你不可能看起来很努力,因为我只是用谷歌搜索了“rails 环境”,而最好的结果是这个

http://guides.rubyonrails.org/configuring.html

这是配置rails环境的官方解释。

于 2015-08-18T13:20:21.020 回答
0

这里有一些关于 Rails 环境的好读物

http://teotti.com/use-of-rails-environments/

https://signalvnoise.com/posts/3535-beyond-the-default-rails-environments

祝你好运 !!

于 2015-08-18T13:47:19.473 回答