【问题标题】:Different environments included in Ruby on RailsRuby on Rails 中包含的不同环境
【发布时间】:2015-08-18 12:51:03
【问题描述】:

谁能向我解释一下 Rails 环境是什么以及它们的作用?我曾尝试研究自己,但找不到任何东西。据我收集,环境是:

  • 发展
  • 制作
  • 测试

【问题讨论】:

标签: ruby-on-rails ruby production-environment test-environments environments


【解决方案1】:

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

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

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

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

【讨论】:

    【解决方案2】:

    从您在问题中提供的内容来看,您似乎在问:

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

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

    设置环境

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

    export RAILS_ENV=<env>
    

    其中&lt;env&gt; 可以是testdevelopmentproduction。设置这个环境变量至关重要,因为它将决定安装了哪些 gem,或者在运行 rails consolerails server 时触及了哪些 env。

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

    包含的环境

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

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

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

    【讨论】:

      【解决方案3】:

      【讨论】:

        猜你喜欢
        • 2017-10-11
        • 1970-01-01
        • 1970-01-01
        • 2011-12-18
        • 2014-09-16
        • 2011-05-17
        • 1970-01-01
        • 1970-01-01
        • 2012-01-09
        相关资源
        最近更新 更多