如何通过bundler处理rails 3.1中的:assets组?

jsh*_*hen 19 ruby-on-rails bundler

我不明白这个组究竟发生了什么,以及Bundler正在做什么.它只在开发模式下加载吗?如果我想创建一个新的环境类型,我应该如何处理这个组呢?等等.

group :assets do
  gem 'coffee-rails', "~> 3.1.0"
  gem 'uglifier'
end
Run Code Online (Sandbox Code Playgroud)

Dmi*_*mov 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
Run Code Online (Sandbox Code Playgroud)


ipd*_*ipd 8

rails资产管道指南中详细说明答案:

a)默认情况下,它们不包含在生产中:

# Gems used only for assets and not required
# in production environments by default.
Run Code Online (Sandbox Code Playgroud)

b)如果你添加一个新的环境类型,你会想要根据上面的Dmitry的答案来处理它.也就是说,将其添加为需要它的组之一.