我在Heroku上设置遥控器进行制作和舞台演出。
在暂存时,我已将应用的env设置为包括:
RACK_ENV=staging
RAILS_ENV=staging
我希望能够在我staging
中指定一个Gemfile
群组,方法与我目前使用production
,test
或assets
的方式相同:
group :staging do
gem "example", "~> 0.9"
end
我了解如何添加自定义组。来自我的application.rb
:
groups = {
assets: %w(development test)
}
Bundler.require(:security, :model, :view, *Rails.groups(groups))
但是如何添加仅在分段中加载的组?
我尝试过没有成功:
groups = {
assets: %w(development test),
staging: %(staging)
}
Bundler.require(:security, :model, :view, *Rails.groups(groups))
答案 0 :(得分:10)
您的Gemfile可以包含如下组:
# Gemfile
group :staging do
gem 'example','~>1.0'
end
创建暂存环境
# /config/environments/staging.rb
...
copy config/environments/production.rb code here with adjustments as needed
...
其工作原理可在/config/application.rb中找到。
Rails.groups包括:默认组(所有未分组的宝石)和与RAILS_ENV设置的环境名称相匹配的宝石组,在这种情况下将是" staging"。你的要求。你的Bundler.require应该是这样的:
Bundler.require *Rails.groups(:assets => %w(development test))
有关Bundler和群组的更多信息,请阅读http://bundler.io/v1.5/groups.html