如何在Ruby on Rails中创建新环境?

我正在尝试创建一个新的环境(内部版本)以将其与hudson一起使用。

我这样做是因为我不想将测试数据库与hudson测试数据库混合使用。

ZX12R asked 2020-01-13T15:35:40Z
4个解决方案
80 votes

假设您要创建config环境。

  1. config中创建一个新的环境文件。您可以从克隆现有的文件开始,例如ymls
  2. config中为您的环境添加新的配置块。
  3. 使用新环境更新config文件夹下可能具有的任何其他配置文件,某些gem在config文件夹下创建自己的ymls
  4. 就这样。

现在您可以启动服务器

rails server -e hudson

或运行控制台

rails console hudson

等等。

如果您使用的是旧版的Rails,则命令为

ruby script/server -e hudson
ruby script/console hudson
Simone Carletti answered 2020-01-13T15:36:40Z
15 votes

更新了Rails 5的答案

创建新的环境文件:

config/environments/staging.rb

修改以下文件以添加环境密钥“ staging”

config/cable.yml
config/database.yml
config/secrets.yml
Gemfile (incase you have stage dependent gems)

现在可以像往常一样使用新环境,例如:

rails console staging

rails console staging

或进行条件检查:

rails console staging, Rails.env.staging?

复制生产设置是开始创建新环境和修改这些文件的好地方。

Shaunak answered 2020-01-13T15:38:27Z
1 votes

创建一个文件config/environments/build.rb,其中将包含特定于您的环境的选项。
config/database.yml中添加新环境的数据库凭据。

摇滚!

Damien MATHIEU answered 2020-01-13T15:38:56Z
1 votes

如果您在Rails 5应用程序中使用webpacker,还请确保更新您的config/webpacker.yml。如果您忘记将新环境添加到config/webpacker.yml,它将只是回到使用生产配置。

hidace answered 2020-01-13T15:39:16Z
translate from https://stackoverflow.com:/questions/2369511/how-to-create-a-new-environment-in-ruby-on-rails