有人可以向我解释一下Rails环境是什么以及它们的作用是什么?我试过自己研究,但找不到任何东西。从我收集到的,环境是:
答案 0 :(得分:2)
每个"环境"真的只是一个配置。您可以在各种不同的模式下启动您的应用程序,这些模式称为"环境"因为它们以很多不同的方式影响应用程序的行为。但最终,它们只是配置。
顺便说一句,当你看到"无处不在时,你看起来很难看,因为我只是用Google搜索" rails environment"最重要的结果就是这个
http://guides.rubyonrails.org/configuring.html
这是配置rails环境的官方解释。
答案 1 :(得分:0)
根据您在问题中提供的内容,您似乎在问:
" 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
会安装与该组相关的所有宝石(以及未在组中列出的宝石)。
test
专为运行测试/规范而设计。除了您在运行套件之前可能调用的种子外,此数据库可能很简单。每次测试完成后,数据库将在测试开始前回滚到其状态。我不建议启动rails server
,因为运行测试(通过MiniTest或RSpec)将为您执行此操作,并在套件完成后关闭服务器。
development
可让您进行&#34;测试&#34;您的应用程序具有更大的数据库,通常是生产的克隆。这使您可以在不中断生产(客户或最终用户将体验的版本)的情况下测试实际实际数据。要查看正在使用的开发环境,请更改RAILS_ENV
并启动rails server
。这有助于决定您希望页面的外观(CSS,HTML)。短暂地测试&#34;也是一种好习惯。你的应用程序自己,点击周围确保一切&#34;看起来&#34;好,JavaScript工作。
production
是为客户和最终用户保留的。配置包括应用程序的实际域,要使用的端口以及要运行的初始化程序或任务。您不想使用您的数据库,因为它可能会对客户产生影响。理想情况下,应用程序应该尽可能地工作,因为这被视为您的最终产品。&#34;
答案 2 :(得分:0)