How is the :assets group in rails 3.1 handled by bundler?

后端 未结 3 1360
南方客
南方客 2020-12-29 06:52

I don\'t understand what exactly is going on with this group, and what bundler is doing with it. Is it only loaded in dev mode? What if I want to make a new environment type

相关标签:
3条回答
  • 2020-12-29 07:26

    I think it should be,

    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
    

    because there are some warning with the line,

    Bundler.require *Rails.groups(:assets => %w(development test))
    

    So we use,

    Bundler.require(*Rails.groups(:assets => %w(development test)))
    

    Hope this helps :)-

    0 讨论(0)
  • 2020-12-29 07:28

    The code that handles :assets group placed in config\application.rb. In rails 3.1 it is:

    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
    
    0 讨论(0)
  • 2020-12-29 07:44

    To elaborate a little on the answer, from rails asset pipeline guide:

    a) by default they are NOT included in production:

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

    b) If you add a new environment type, you would want to handle it according to Dmitry's answer above. That is, add it as one of the groups that will require it.

    0 讨论(0)
提交回复
热议问题