我不明白这个群体到底发生了什么,以及捆绑者正在做什么。它只在开发模式下加载吗?如果我想创建一个新的环境类型,我应该如何处理这个组呢?等
group :assets do
gem 'coffee-rails', "~> 3.1.0"
gem 'uglifier'
end
答案 0 :(得分:22)
处理:assets
中放置config\application.rb
组的代码。在rails 3.1中,它是:
if defined?(Bundler)
# If you precompile assets before deploying to production, use this line
Bundler.require *Rails.groups(:assets => %w(development test))
# If you want your assets lazily compiled in production, use this line
# Bundler.require(:default, :assets, Rails.env)
end
答案 1 :(得分:8)
详细说明答案,来自rails asset pipeline guide:
a)默认情况下,它们不包含在生产中:
# Gems used only for assets and not required
# in production environments by default.
b)如果您添加新的环境类型,您可能希望根据上面的Dmitry的回答来处理它。也就是说,将其添加为需要它的组之一。
答案 2 :(得分:0)
我认为应该是,
if defined?(Bundler)
# If you precompile assets before deploying to production, use this line
Bundler.require(*Rails.groups(:assets => %w(development test)))
# If you want your assets lazily compiled in production, use this line
# Bundler.require(:default, :assets, Rails.env)
end
因为该行有一些警告,
Bundler.require *Rails.groups(:assets => %w(development test))
所以我们使用,
Bundler.require(*Rails.groups(:assets => %w(development test)))
希望这会有所帮助:) -