从您在问题中提供的内容来看,您似乎在问:
“Rails 中各个环境配置有什么区别?”
Rails 带有 3 种环境类型的软件包。每个都有自己的服务器、数据库和配置。请参阅Rails Guides: Configuration,了解有关您可用选项的更多信息。
设置环境
要设置你的 Rails 环境,你需要在命令行中输入:
export RAILS_ENV=<env>
其中<env> 可以是test、development 或production。设置这个环境变量至关重要,因为它将决定安装了哪些 gem,或者在运行 rails console 或 rails server 时触及了哪些 env。
配置中包含应用程序使用的 gemset。当您运行rails new 时,您会发现一个包含test、development 和production 组的Gemfile。这些组对应于当前设置的环境。当环境设置为其中之一时,运行 bundle install 会安装与该组相关的所有 gem(以及未在组中列出的 gem)。
包含的环境
test 专为运行测试/规范而设计。这个数据库很可能是简单的,除了你可以在运行套件之前调用的种子。每次测试完成后,数据库将回滚到测试开始前的状态。我不建议启动 rails server,因为运行测试(通过 MiniTest 或 RSpec)会为您执行此操作,并在套件完成后关闭服务器。
development 允许您使用更大的数据库(通常是生产环境的克隆)“测试”您的应用。这使您可以在不中断生产(客户或最终用户将体验的版本)的情况下测试实际真实数据。要查看实际的开发环境,请更改 RAILS_ENV 并启动 rails server。这有助于决定您希望页面的外观(CSS、HTML)。自己简单地“测试”您的应用程序也是一种很好的做法,单击以确保一切“看起来”良好并且 JavaScript 工作正常。
production 是为客户和最终用户保留的。配置包括应用程序的实际域、要使用的端口以及要运行的初始化程序或任务。你不想玩弄你的数据库,因为它可能会影响客户。理想情况下,应用程序应该尽可能地运行良好,因为这被视为您的“最终产品”。