2011-09-08 3 views
19

이 그룹과 정확히 무슨 일이 벌어지고 있는지, 그리고 어떤 번들러가 그 일을하고 있는지 이해할 수 없습니다. dev 모드에서만로드됩니까? 새로운 환경 유형을 만들고 싶다면이 그룹을 어떻게 처리해야합니까? 등레일리스 3.1의 : assets 그룹은 bundler가 어떻게 처리합니까?

group :assets do 
    gem 'coffee-rails', "~> 3.1.0" 
    gem 'uglifier' 
end 

답변

22

배치 config\application.rb:assets 그룹을 처리하는 코드를 포함 할 수있다. 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 
+4

http://stackoverflow.com/a/7675331/474597이 답변 explai 그것 – lulalala

8

rails asset pipeline guide에서, 대답에 조금 정교한하려면

A) 기본적으로 그들은 생산에 포함되지 않습니다

# Gems used only for assets and not required 
# in production environments by default. 

b) 귀하의 경우 새로운 환경 유형을 추가하려면 위에 나온 Dmitry의 답변에 따라 처리해야합니다. 즉, 필요로하는 그룹 중 하나로 추가하십시오.

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))) 

희망이 도움이됩니다 :) -